简单实现一对一聊天对话
#服务端:
import threading
import socket
server = socket.socket() #声明套接字
server.bind(('',8888)) #声明ip与端口
server.listen(6) #使套接字可以被连接,最多为6个
print('等待...')
conn,addr = server.accept() #等待客户端连接,没有连接就一直等待
print('对接成功...')
def rec():#接收函数
while True:#循环
data = conn.recv(1024) #接收最大数据量
print(data.decode('utf-8')) #将接收到的数据解码
def send():#发送函数
while True:
info = input('----->:') #输入要发送的数据
conn.send(info.encode('utf-8')) #将数据编码成utf-8的形式发送出去
t1 = threading.Thread(target=rec) #多线程并发,实现全双工
t2 = threading.Thread(target=send)
t1.start()
t2.start()
#客户端:
import socket
import threading
client = socket.socket()
client.connect(('localhost',8888))
def send():
while True:
info = input('---->')
client.send(info.encode('utf-8'))
def rec():
while True:
data = client.recv(1024)
print(data.decode('utf-8'))
t1 = threading.Thread(target=send)
t2 = threading.Thread(target=rec)
t1.start()
t2.start()
python---socket模块
最新推荐文章于 2018-12-25 17:20:51 发布