python - 通过 TCP 使用 Python 连接 Teltonika 设备

标签 python sockets tcp

我正在尝试使用此代码连接 Teltonika 设备 (FMB1xx):

import socket
port = 12050
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', port))
s.listen(1)
conn, addr = s.accept()
print('Connected by ', addr)
imei = conn.recv(1024)
conn.send('\x01')

while True:

    try:
         data = conn.recv(1024)
         if not data: break
         print (data)

    except socket.error:
         print ("Error Occured.")
         break

到目前为止,我发现 conn.send('\x01') 没有正常工作,并且设备不发送其余数据。有几个这样的问题,但没有一个有好的答案。 Here you can find documentation of this device .

最佳答案

如果您发送超过一个字节,则必须对其进行编码和排序(小端/大端)。使用这样的东西:

conn.send(struct.pack('!L', 1))

关于连接到 teltonika gps:https://github.com/Kein1945/GPS_Teltonika_Server/

关于python - 通过 TCP 使用 Python 连接 Teltonika 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47128207/

相关文章:

java - MulServer - 客户端通信 : After a shutdown, 连接的客户端仍然可以交互[为什么?]

node.js - 是否可以使用同一个端口启用 tcp、http 和 websocket?

c - 相当于 Windows 中的 TIOCOUTQ/SIOCOUTQ

java - android无法接收从pc发送的所有数据

c++ - QT read Ready()TCP套接字在需要之前不接收消息

c# - 使用 Web 代理的 HttpWebRequest 工作,然后在一段时间后失败

python - GTFS 路线规划器

Python:一行中的 "Print"和 "Input"

python - 比较两个numpy数组的最快方法

python - gevent 中断请求/urllib2 超时