伪代码
#创建一个TCP服务器 ss = socket() #创建服务器套接字 ss.bind() #把地址绑定到套接字上 ss.listen() #监听连接 inf_loop: #服务器无线循环 cone,addr = ss.accept() #接收客户端连接 comm_loop: #通信循环 cone.recv()/cs.send() #对话(接受与发送) cone.close() #关闭客户端套接字 ss.close() #关闭服务器套接字(可选) #创建一个TCP客户端 ss = socket() #创建一个客户端套接字 ss.connect() #尝试连接服务器 comm_loop: #通信循环 cs.send()/cs.recv() #对话(接受或发送) cs.close() #关闭客户端套接字 复制代码
标准实例:
#服务器端 from socket import * cs = socket(AF_INET,SOCK_STREAM) cs.bind(("127.0.0.1",8888)) cs.listen(5) print("Have Listen") while True: cone,addr = cs.accept() while True: data = cone.recv(1024) if len(data) == 0:break #如果收到TCP消息,则关闭客户端套接字 print(data.decode("utf-8")) cone.send(data.upper()) cone.close() cs.close() #客户端 from socket import * cs = socket(AF_INET,SOCK_STREAM) cs.connect(("127.0.0.1",8888)) while True: ssg = input(">>>").strip() if not ssg:continue #避免空格造成的停顿 cs.send(ssg.encode("utf-8")) #发 data = cs.recv(1024) print(data.decode("utf-8")) #收 cs .close()