最近对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_address print(client) # 处理客户端连接 def handle(self): # 定义接收类型 conn = self.request msg = "连接成功" # 回复客户端连接成功 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真是一门通俗易懂干净利落的语言啊!