python-socket TCP
tsTserv3.py服务端
from socket import * from time import ctime # python3 HOST = '' PORT = 21567 BUFSIZ = 1024 ADDR = (HOST, PORT) tcpSerSock = socket(AF_INET, SOCK_STREAM) tcpSerSock.bind(ADDR) tcpSerSock.listen(5) while True: print('waiting for connection...') tcpCliSock, addr = tcpSerSock.accept() print('...connected from:', addr) while True: data = tcpCliSock.recv(BUFSIZ) if not data: break tcpCliSock.send(('[%s] %s' % (ctime(), data.decode())).encode()) tcpCliSock.close() tcpSerSock.close()
tsTclnt3.py 客户端
from socket import * HOST = '127.0.0.1' PORT = 21567 BUFSIZ = 1024 ADDR = (HOST, PORT) tcpCliSock = socket(AF_INET, SOCK_STREAM) tcpCliSock.connect(ADDR) while True: data = input('> ') if not data: break tcpCliSock.send(bytes(data,'utf-8')) data = tcpCliSock.recv(BUFSIZ) if not data: break print(data.decode()) tcpCliSock.close()
备注:
from socket import socket # 创建服务器套接字 ss = socket() # 套接字与地址绑定 ss.bind() # 监听连接 ss.listen() # 服务器无效循环 inf_loop: # 接受客户端连接 cs = ss.accept() # 通信循环 comm_loop: # 对话 接收/发送 cs.recv() / cs.send() # 关闭客户端套接字 cs.close() # 关闭服务器套接字 ss.close()