GPRS数据通信 点击:1161 | 回复:3



gprs111

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 4回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2004年9月22日
发表于:2004-09-22 10:53:00
楼主
有两台电脑都通过GPRS上网,或者一台GPRS上网另一台有固定Ip,我想在两个电脑间传送数据,该怎么做?Socket可以吗? 恳请林工给小弟些指导,小弟初次做,不太了解。



林湘建

  • 精华:18帖
  • 求助:0帖
  • 帖子:49帖 | 1012回
  • 年度积分:0
  • 历史总积分:1686
  • 注册:2003年4月07日
发表于:2004-09-23 02:08:00
1楼
没错,是通过Socket,下面介绍一下SARO-DTU的Manylink (一点对多点)版程序的连接过程,可以参考! 1.确定一条TCP连接有4个要素,这4个要素是双方的IP地址和双方的TCP端口号,这也就是SARO-1010P为什么将本地端口、目的端口和目的IP地址结合起来作为连接的ID号(SARO-1010P在PPP握手成功后获得的动态地址只要不断线重连就不会改变)的原因。 2.使用TCP协议进行数据通信时,必须要经过三个阶段,第一个阶段是连接建立阶段,第二个阶段是数据收发阶段,第三个阶段是连接释放阶段: 1).连接建立阶段: 连接的建立又有主动连接和被动连接之分,一般来说客户机都是主动发起连接的,而服务器是被动接受连接的。所谓的主动连接是指本方主动向远端发起连接请求, 而被动连接指的是本方侦听一个端口,等待远端及其主动向自己发起一个连接请求并且进行回应并且最终握手建链成功。在连接成功,切换到数据态后,我们可以通过OPEN命令帧控制SARO-1010P 进行主动连接。当然,连接时要指定对方的IP地址和端口号。至于被动连接,SARO-1010P也可以支持,目前的程序只支持侦听一个端口。对方主动连接(SARO-1010P被动连接)成功后将建立一条新的通信连接,SARO-1010P将把这个被动连接成功的事件通知给上位机。 2).数据收发阶段: 当一条连接建立之后,我们就可以在这条连接上进行数据收发了。 我们可以使用SEND命令帧控制SARO-1010P进行数据发送。当然,发送时要指定连接号(通过本地端口、目的地址和端口唯一确定)。 对于对方发送过来的数据,SARO-1010P首先将其存储在自身的数据缓冲区中,然后将数据已到达此事件通知给上位机,上位机读取到数据已到达事件后,应当及时使用RECV命令帧控制SARO-1010P将相应连接上的所有数据通过串口读出,当数据读出后,这些数据原先占用的数据缓冲区空间将会被释放。 3).挂断连接阶段: 当一条连接上的所有数据都已经收发完成了,不再需要这条连接时,就可以把连接给挂断了。和连接建立阶段相类似,挂断也分为主动挂断和被动挂断。我们可以使用RSET命令帧控制SARO-1010P进行连接的主动挂断。如果连接被对方主动挂断,SARO-1010P将会把这个事件通知给上位机进行处理。

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2004-11-11 11:23:00
2楼

痞子菜菜

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2004年3月24日
发表于:2004-11-17 14:17:00
3楼
长见识!

热门招聘
相关主题

官方公众号

智造工程师