用python實現一個簡單的socket網絡聊天通訊 (Linux --py2.7平台與windows--py3.6平台)


windows   --> windows 寫法均在py3.6

客戶端寫法

import socket

client = socket.socket()

client.connect(('192.168.88.1', 9001))
while 1:
    data_recv = client.recv(1024).decode('utf-8')
    print(data_recv)

    data_sent = input('client:')
    client.send(data_sent.encode('utf-8'))
    if data_sent == 'exit':
        break

client.close()

服務端寫法

import socket

server = socket.socket()
server.bind(('192.168.88.1', 9001))
server.listen(5)
print('等待鏈接中。。。。。')
conn, addr = server.accept()  # 監聽返回 鏈接和 地址
print('connect succeed !')
while 1:
    data_send = input('server:')
    conn.send(data_send.encode('utf-8'))

    data_recv = conn.recv(1024)
    print(data_recv.decode('utf-8'))

    if data_recv.decode('utf-8') == 'exit':
        break

conn.close()

 

服務端Linux(py2.7) 客戶端 windows(py3.6)

linux 服務端

#!usr/bin/bash pyhton
#_*_ coding:utf8 _*_

# 支持中文 公網聊天

import socket
import sys
reload(sys)
sys.setdefaultencoding('utf-8')      # 為了支持中文 加入以上代碼

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)     # 參數的作用是指定協議  必須加
addr_port = ('172.17.226.72',3389)   # Linux 中不准綁定公有ip 服務端必須綁定公網ip 端口必須是開放的
server.bind(addr_port)
server.listen(5)
conn,addr = server.accept()
print('connect succeet')
while 1:
    data_send = raw_input('server:')
    conn.send(data_send.encode('utf-8'))

    data = conn.recv(1024)
    print(data.decode('utf-8'))

conn.close()

windows 客戶端寫法

import socket
test  = socket.socket()

test.connect(('39.106.40.169', 3389)) # 鏈接公網ip 與對應端口
while 1:
    data = test.recv(1024).decode('utf-8')
    print(data)
    data_send = input('-----')
    test.send(data_send.encode('utf-8'))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM