最近对Python产生了兴趣,写了一个socket玩玩
socket 客户端
import socket# 定义客户端 client = socket.socket() # 定义服务端连接信息 ip_port = ("127.0.0.1", 8888) # 客户端连接 client.connect(ip_port) # 定义接收数据 data = client.recv(1024) print(data.decode()) # 持续发送 while True:# 输入发送内容msg_input = input("发送:")# 客户端发送 client.send(msg_input.encode())# 客户端接收服务端信息data = client.recv(1024)print("收到:"+data.decode())
socket 服务端
import socketserver# 定义自己的server类 class MyServer(socketserver.BaseRequestHandler):# 接收到客户端连接def setup(self):print("等待客户端连接...")client = self.client_addressprint(client)# 处理客户端连接def handle(self):# 定义接收类型conn = self.requestmsg = "连接成功"# 回复客户端连接成功 conn.send(msg.encode())while True:# 定义服务端接收类型data = conn.recv(1024)print("收到:"+data.decode())input_msg = input("回复:")# 成功接收回复客户端 conn.send(input_msg.encode())# 关闭接收请求 conn.close()# 完成客户端连接def finish(self):print("请求结束")if __name__ == "__main__":# 定义多线程TCP服务端可以接收多个客户端server = socketserver.ThreadingTCPServer(("127.0.0.1", 8888), MyServer)server.serve_forever()
运行结果
写完之后感觉Python真是一门通俗易懂干净利落的语言啊!