在Python中,你可以使用socket
模塊來(lái)監(jiān)聽(tīng)端口并接收數(shù)據(jù)。下面是一個(gè)簡(jiǎn)單的例子:
import socket
# 創(chuàng)建socket對(duì)象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 綁定端口
s.bind(('localhost', 8000))
# 監(jiān)聽(tīng)端口
s.listen(5)
while True:
# 等待客戶端連接
client, address = s.accept()
print(f'連接已建立:{address}')
while True:
# 接收數(shù)據(jù)
data = client.recv(1024)
if not data:
break
# 處理接收到的數(shù)據(jù)
# ...
# 關(guān)閉客戶端連接
client.close()
在上面的例子中,我們創(chuàng)建了一個(gè)TCP服務(wù)器來(lái)監(jiān)聽(tīng)本地的8000端口,并等待客戶端的連接。一旦連接建立,我們就可以接收客戶端發(fā)送的數(shù)據(jù)。你可以使用client.recv()
方法來(lái)接收數(shù)據(jù),其中1024
表示一次接收的最大字節(jié)數(shù)。當(dāng)recv()
方法返回空數(shù)據(jù)時(shí),表示客戶端關(guān)閉了連接或者不再發(fā)送數(shù)據(jù),此時(shí)我們可以關(guān)閉客戶端連接client.close()
。
需要注意的是,以上代碼只是一個(gè)簡(jiǎn)單的示例,實(shí)際應(yīng)用中可能需要處理更多的異常情況和數(shù)據(jù)的解析等。