Python是一种十分流行的编程语言,支持很多高级特性,其中监听多个端口是一个十分有用的功能。具体实现可以通过以下步骤来完成:
import socket # 获得IP地址 def get_local_ip() ->str: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('8.8.8.8', 80)) ip = s.getsockname()[0] s.close() return ip # 监听指定端口 def listen_port(port: int) ->None: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((get_local_ip(), port)) s.listen(1) conn, addr = s.accept() with conn: print(f'Connected by {addr}') while True: data = conn.recv(1024) if not data: break conn.sendall(data) # 监听多个端口 if __name__ == '__main__': ports = [3000, 4000, 5000] for port in ports: listen_port(port)
上面是一个简单的实现方式,主要包含了两个函数,分别是获取本地IP地址和监听指定端口。在实现时,我们首先通过socket模块获取本地IP地址,然后使用socket函数与端口绑定,并监听该端口。当有连接建立时,我们可以接收到传入的数据,并将其原封不动地发送回去。最后,我们通过建立多个端口的方式实现了同时监听多个端口的功能。
当然,在实际使用中,我们还需要考虑多线程、异步等高级特性的应用,以实现更加高效的操作。不过,这里的代码可以作为一个快速入门的例子,供大家参考。
本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。
0