python中socket服务端代码:面向对象版本:
import socket
# 创建类
class WebSocket(object):
# 构造方法,初始化socket对象
def __init__(self):
self.tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.tcp_server_socket.bind(("", 8080)) # ""中无内容默认访问本机
# 设置监听,传输整参数,表示设置的最大连结数
self.tcp_server_socket.listen(128)
# 封装启动服务端代码
def start(self):
while True:
# 等待客户端的连结
new_socket, ip_port = self.tcp_server_socket.accept()
self.handler_request(ip_port, new_socket)
#封装接收
self.handler_request(ip_port, new_socket)
#封装处理请求
def handler_request(self, ip_port, new_socket):
recv_data = new_socket.recv(1024).decode(encoding="gbk")
print(f"服务端收到客户端{ip_port}的数据:{recv_data}")
# 发送数据
new_socket.send("接收成功".encode(encoding="gbk"))
# 关闭连结
new_socket.close
#创建对象启动服务端
if __name__=='__main__':
#合并式
WebSocket().start()
#分离式
#ws = WebSocket()
#ws.start()
运行结果:
测试端软件: