我是一个 Python 新手,我的第一个任务是创建一个小型服务器程序,它将事件从网络单元转发到 REST API。我的代码的整体结构似乎有效,但我有一个问题。我收到第一个包裹后,没有任何反应。我的循环是否有问题,导致不接受新包(来自同一客户端)?
软件包看起来像这样:EVNTTAG 20190219164001132%0C%3D%E2%80h%90%00%00%00%01%CBU%FB%DF ...这并不重要,但我分享只是为了清楚起见。
我的代码(我跳过了不相关的休息初始化等,但主循环是完整的代码):
# Configure TAGP listener
ipaddress = ([l for l in ([ip for ip in socket.gethostbyname_ex(socket.gethostname())[2] if not ip.startswith("127.")][:1], [[(s.connect(('8.8.8.8', 53)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]]) if l][0][0])
server_name = ipaddress
server_address = (server_name, TAGPListenerPort)
print ('starting TAGP listener on %s port %s' % server_address)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(server_address)
sock.listen(1)
sensor_data = {'tag': 0}
# Listen for TAGP data and forward events to ThingsBoard
try:
while True:
data = …Run Code Online (Sandbox Code Playgroud)