【发布时间】:2018-11-23 22:03:58
【问题描述】:
我对 python 套接字编程比较陌生。我们有一个 gps 跟踪器 ST-901,其中可以指定 ip 和端口以发送 gps 数据。 在本地机器(连接到 wifi 路由器)中创建了一个 python 套接字服务器脚本,该服务器用于侦听来自 gps 跟踪器的传入连接。但是脚本没有收到任何数据。
比如说,路由器的公网ip是10.175.31.48 本地计算机连接到此路由器。使用端口号 5013,应使用端口转发将连接发送到此本地计算机。
另外我们将tracker的ip和端口地址设置为与路由器相同。
import socket;
import sys;
import h2o;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
print "Socket created successfully";
port=5013;
s.bind(('',port));
print "socket binded to port %s" %(port);
s.listen(5);
print "socket is listening";
print socket.gethostname();
try:
c,addr=s.accept();
print "got connection from",addr;
c.send('thank you connected');
c.send("how are you")
data=c.recv(1024);
print data;
finally:
c.close();
我无法接收 GPS 数据。请帮忙...
【问题讨论】:
-
您是否为该路由器配置了端口转发?让外部数据到达您想要的机器?
-
是的..我已经配置了我的路由器。每当有任何套接字进入端口 5013 时,它都会转发到我的本地计算机。我也可以从其他电脑和手机连接到这个ip和端口。
-
10.175.31.48 是不可路由的 ip,因此跟踪器可能无法连接到您的 python 服务器。
标签: python sockets websocket gps iot