服务端
- 通过socket初始化,并绑定监听的地址与端口
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('127.0.0.1', 8888))
- 开始监听端口
s.listen(5)
- 利用一个死循环来接受来自客户端的连接
- accpet()等待并返回一个客户端的连接
- 收到一个连接时,便创建一个线程去处理
def dealMsg(sock, addr):
while True:
data = sock.revc(1024)
print(data.decode('utf-8'))
if not data or data.decode('utf-8') == 'quit':
break
sock.send(data)
sock.close()
while True:
sock, addr = s.accept()
t = threading.Thread(target = dealMsg, args=(sock,addr))
t.start()
客户端
- 初始化socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
- 建立连接
s.connect(('127.0.0.1', 8888))
- 读取、发送数据
print(s.recv(1024).decode('utf-8'))
s.send(b'quit')
s.close()