在Python中,可以使用socket模塊來監(jiān)聽端口并接收數(shù)據(jù)。
以下是一個示例代碼,演示了如何使用Python監(jiān)聽端口,并接收從客戶端發(fā)送過來的數(shù)據(jù):
import socket
def receive_data():
# 創(chuàng)建socket對象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 綁定IP地址和端口號
server_address = ('localhost', 8888)
server_socket.bind(server_address)
# 監(jiān)聽端口,等待客戶端連接
server_socket.listen(1)
print('等待客戶端連接...')
# 接受客戶端連接
client_socket, client_address = server_socket.accept()
print(f'客戶端 {client_address} 連接成功!')
while True:
# 接收客戶端發(fā)送的數(shù)據(jù)
data = client_socket.recv(1024)
if not data:
break
# 處理接收到的數(shù)據(jù)
print(f'接收到客戶端數(shù)據(jù):{data.decode()}')
# 關(guān)閉連接
client_socket.close()
server_socket.close()
if __name__ == '__main__':
receive_data()
運行以上代碼后,它將監(jiān)聽本地的8888端口,等待客戶端連接。當客戶端連接成功后,可以接收并打印客戶端發(fā)送的數(shù)據(jù)。當客戶端斷開連接或不發(fā)送數(shù)據(jù)時,程序?qū)⑼顺觥?/p>
請注意,上述代碼僅演示了基本的監(jiān)聽和接收數(shù)據(jù)的過程,具體根據(jù)實際需求進行擴展和修改。