Python 2.7:如何在连接处于活动状态时读取服务器侦听器套接字数据?

时间:2021-08-01 22:08:30

标签: python sockets tcp

我正在尝试制作一个简单的 Python 脚本,该脚本将创建一个侦听端口 8000 的服务器套接字。我正在通过 tcp 将我的数据移植到持久连接上的此侦听器。我需要能够监控传入的数据并根据我从外部应用程序的控制台输出接收到的数据采取行动。这时候我只能捕获一个变量中的数据,然后在连接关闭时将其打印出来。我需要在连接建立时查看收到的数据。下面是我正在使用的 Python 示例。如果可能,我需要使用 Python 实时查看数据进入下面的“data = conn.recv(16)”变量。

import socket, time
import os, sys
import thread

host = ''
port = 8000
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

try:
    s.bind((host, port))
except socket.error as e:
    print(str(e))

s.listen(1)
print('Waiting for a connection.')

def threaded_client(conn):
    while True:
        data = conn.recv(16)
        print('Trying to populate incoming data \n')        
        print('Received: '+ data)
        if not data:
            break
    conn.close()


while True:
    conn, addr = s.accept()
    print('connected to: '+addr[0]+':'+str(addr[1]))
    thread.start_new_thread(threaded_client,(conn,))

谢谢,

0 个答案:

没有答案