Question:
客户端通过GPRS(GPRS网络)上网,服务器端通过Modem拔号上网(PSTN网络),然后我写了一个客户端和服务器程序,分别运行在客户端和服务器上,现在的问题是:客户端(GPRS)网络的数据可以发送到服务器(PSTN网络),但服务器端数据无法转发到客户端(也就是PSTN网络无法与GPRS网络进行通讯),我用的是Socket编程,采用多线程,客户端和服务器都是意义上的客户端和服务顺,也就是说客户端同时具有服务顺的功能,服务器也具有客户端的功能,当客户端发送请求用100端口,那么客户端也会启动一个服务器(这个服务器是后台运行的,我已将其做到客户端中),用101端口监听。客户端在发送数据的同时也会将自已的ip地址发给服务器,服务顺收到数据包时会解出析出ip地址,并将其保存,作为转发的目标地址,端口号仍与客户端保持一致(即101,因为此时的服务器已启动后台的客户端,我也将客户端做到服务器中)。如果说GPRS和PSTN网络无法通讯,这种论点并不正确,因为我在GPRS网络上用IE可以访问到PSTN网络上的网页,在IE访问PSTN网络上的网页时,这同样是一个双向的过程,GPRS网络通过IE发送GET请求,而PSTN网络则予以解释并将超文本传给客户端GPRS网络,然后由IE解析,生成页面。为什么IE可以实现两者之间的通讯,而我的程序却只能实现从GPRS网络到PSTN网络通讯,而不能实现从PSTN网络到GPRS网络呢?欢迎各位朋友,多多提意见,多多参与讨论,分不够再加。

解决方案 »

  1.   

    上面这个冬冬我也试过!
    GPRS上网有一个IP,不过是动态的,一条链路建立起来后(GPRS->moden),两三秒没有数据流动,GPRS的IP就会变动或者失去,moden自然没法联系GPRS!
    上面是我的理解!时间方面不一定是两三秒,但很短!
    不知道有没有好的方法解决这个问题?kingcaiyao:
    PSTN网络是什么冬冬?这套网络体系和机制我不太明白,能告知一二?或者哪有好的文档?
    谢谢!
      

  2.   

    你GPRS上网是用手机连接到机器的串口上,用AT指令进行操作的吗?
    你是用的什么样的模块?
      

  3.   

    我说的“这套网络体系和机制我不太明白”是指GPRS<--->moden的数据传输情况!
    链路是怎么建立的,经过那些设备。。and so on