欢迎访问宙启技术站
智能推送

Python实现的端口监听器使用教程与示例代码

发布时间:2023-12-12 10:19:46

端口监听器是用于监听网络上的端口,接收和处理传入的连接请求的程序。在Python中,可以使用socket模块来实现端口监听器。

首先,我们需要导入socket模块:

import socket

接下来,我们需要创建一个socket对象,并绑定一个IP地址和一个端口号:

host = '127.0.0.1'
port = 12345

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))

在创建socket对象之后,我们需要调用bind方法来绑定指定的IP地址和端口号。

绑定完成后,我们需要开始监听端口:

s.listen(5)

这里的参数5表示最多同时可以有5个连接排队等待接受。如果超过了这个数量,后面的连接请求将会被拒绝。

接着,我们需要使用一个循环来不断接受连接请求,并处理传入的连接:

while True:
    conn, addr = s.accept()
    print('接受到来自{}的连接'.format(addr[0]))

    # 处理连接请求
    # ...

    conn.close()

在循环中,accept方法会阻塞程序,直到接受到一个连接请求。一旦接受到连接请求,accept方法会返回一个新的socket对象和一个地址。

我们可以通过新的socket对象来处理连接请求。处理完成后,我们需要调用close方法来关闭连接。

下面是一个完整的端口监听器的示例代码:

import socket

host = '127.0.0.1'
port = 12345

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(5)

while True:
    conn, addr = s.accept()
    print('接受到来自{}的连接'.format(addr[0]))

    data = conn.recv(1024)
    print('收到数据:', data.decode('utf-8'))

    conn.close()

在这个示例中,我们接受连接请求后,通过新的socket对象接收数据,并将数据打印出来。

希望这个教程能够帮助你开始使用Python实现端口监听器。