注意ip_address的设置,一开始会认为这个地址是我监听的地址,实际上这个地址应该是我去限定一个地址,只有这个ip子网下的地址传过来的数据我才可以接收的到,对于端口号也可以这样理解,也就是我只能监听到这个端口。为此我们要是对安全没有很高的要求,我们可以将地址设置成为0.0.0.0,这样就可以实现多台终端之间进行通信。
服务器端代码:
import socket # 导入 socket 模块 from threading import Thread # ADDRESS = ('0.0.0.0', 8080) # 绑定地址 g_socket_server = None # 负责监听的socket g_conn_pool = [] # 连接池 ip_address = '0.0.0.0' port = 8080 def init(): """ 初始化服务端 """ global g_socket_server g_socket_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建 socket 对象 g_socket_server.bind((ip_address, port)) g_socket_server.listen(5) # 最大等待数(有很多人理解为最大连接数,其实是错误的) print("服务端已启动,等待客户端连接...") def accept_client(): """ 接收新连接 """ while True: client, _ = g_socket_server.accept() # 阻塞,等待客户端连接 #