gprs无线模块,保持socket长连接问题
我现在遇到一个问题,就是使用gprs模块来进行下位与上位的通信,下位是工控机上的,工控机上面连接着一个无线模块,下位与上位通信要用长连接,而且一个下位会同时和几个上位进行通信,但现在主流的无线模块好像都是集成tcp/ip协议栈的,本身也只能同时与一个远程主机保持长连接,不知道各位大侠有没有好办法哪。
我现在能想到的就是工控机,直接拿这个无线模块拨号上网,然后再进行普通的socket通信,就和普通上网一样了。
[解决办法]
多线程不知道可不可以??
[解决办法]
不知道其他人有什么提议,我认为没辙,原因如下:
基于TCP/IP的SOCKET通讯连接的建立是一个四元组(客户端IP,客户端端口,服务端IP,服务端端口),通过这个确定一个长连接的一一对应关系。
想让一个客户端同时与多个服务端连接,那只有启用多个独立进程,即必须存在多个不同的四元组。
[解决办法]
就是说只能改造下位机的GPRS模块,让其能启动多个进程同时与多个上位机连接,不过问题又出来了——究竟有多少个上位机需要建立连接,如何确定该启动的进程数(多少个上位机的IP+PORT)。
[解决办法]
下位机-->XXXXXX-->上位机 | | -->上位机 | | -->上位机