移动终端数据通信的方法

文档序号:7590363阅读:251来源:国知局
专利名称:移动终端数据通信的方法
技术领域
本发明属于移动通信技术领域,更具体的说是涉及一种移动终端数据通信的方法。
背景技术
移动终端通过空中传输与基站服务器进行数据通信,socket存在于数据通信的传输层和应用层之间。socket的中文对应翻译是套接字,它封装了底层的协议,提供了应用层和传输层之间通信的接口。通过socket,可以进行移动终端接收集站服务器数据的请求,也可以进行移动终端数据发送到基站服务器的请求。
如图1所示移动终端向服务器发送数据时,应用层把需要发送的数据先传给socket,socket调用封装的API(application interface应用程序接口)函数将要发送的数据经过传输层、网络层和数据链路层一层层传下去,直到物理层把数据发出去。当移动终端接收服务器发出的数据时,传输层检测到有数据过来,就调用socket封装的API函数通知应用层有数据过来,应用层通过socket封装的API函数将数据接收。
一般建立socket的方法是先打开网络库,获得应用id,然后给该id注册一个网络回调函数和一个socket回调函数。其中网络回调函数用来处理网络事件,而socket回调函数用来处理socket上发生的读或写事件即数据接收或数据发送事件。然后通过该应用id来打开ppp(点对点协议)连接,ppp连接是移动终端和服务器协商打开的,协商的结果通过网络回调函数来通知移动终端。在ppp协商成功结束后,服务器给移动终端随机分配一个ip地址。这样就使服务器或者其他移动终端能够找到本移动终端。最后再利用该应用id建立一个socket,并把这个socket和一个端口进行绑定,socket的读或者写操作就通过该对应端口进行。当底层检测到是读或者是写事件发生的时候,就通过socket回调函数来通知上层应用进行读或者写的操作。
在移动终端拨打IP电话时,移动终端上使用了sip协议即会话初始化协议,rtp协议即实时传输协议和rtcp协议即实时传输控制协议,这三个协议都属于应用层的协议,为了与底层协议进行通信,需要建立3个socket连接,即Sip socket,rtp socket和rtcp socket。目前移动终端中采取的方法是每一个应用id对应一个socket,如图2所示,先打开网络库,获得应用id,然后通过该应用id来打开ppp(点对点协议)连接,然后再利用该应用id建立socket,并把socket和一个端口进行绑定,由于需要建立3个socket,因此上述过程要重复3次,3个socket对应3个应用id。
这种方法很容易实现,不过存在的缺点是占用应用id过多,浪费资源。在一些移动终端的软件平台上只支持3个应用id,手机的IP电话应用刚好用完3个应用id,这样就不能再增加别的数据通信应用例如手机中的WAP和email应用。

发明内容
本发明的目的,就在于克服上述缺点和不足,提供一种移动终端数据通信的办法,用一个应用id来对应三个socket,每个socket分别绑定一个端口,3个端口互不相同,移动终端与服务器进行数据通信,既能够保证数据正常的接收和发送操作,也节省了移动终端的宝贵资源,可以增加别的数据通信应用例如手机中的WAP和email应用。
为了实现上述目的,本发明包括打开网络库给移动终端分配一个应用id的步骤,利用id打开PPP连接的步骤,其特征在于还包括以下步骤利用该id建立两个或两个以上数量的socket;每个socket绑定一个对应的端口,端口之间互不相同;通过端口进行相应的数据发送和数据接收。
移动终端拨打IP电话时,可以利用一个应用id建立三个socket,分别是Sip socket,rtp socket和rtcp socket,并且将它们分别绑定一个互不相同的端口,利用不同的端口进行相应的数据发送和数据接收操作。


下面结合附图和实施例对本发明作进一步描述。
图1为移动终端通信网络结构示意图;图2为移动终端一个应用id建立一个socket的流程图;图3为本发明的一个应用id建立三个socket的流程图;图4为本发明的数据通信应用一个id的示意图。
具体实施例方式
实施例1,IP手机与服务器进行数据通信,手机上需要使用sip协议即回话初始化协议,rtp协议即实时传输协议和rtcp协议即实时传输控制协议,这三个协议都属于应用层的协议,为了与底层协议进行通信,需要建立3个socket连接,即Sip socket,rtp socket和rtcp socket。
如图3所示,首先打开网络库,网络库给手机分配一个应用id,每一个应用id都要注册一个网络回调函数和一个socket回调函数,分别用来监听网络事件和socket事件,每当有网络事件或者socket事件发生时,就调用对应的回调函数。然后利用该应用id打开ppp连接,通过网络回调函数知道ppp是否正确打开,ppp正确打开后,服务器给移动终端随机分配一个ip地址。再利用该应用id建立三个socket,即Sip socket,rtp socket和rtcp socket,并把它们和互不相同的端口进行绑定。这样就可以进行正常的数据发送和数据接收操作。
由于我们只用一个应用id,因此三个socket的应用id相同,所以三个socket的网络回调函数和socket回调函数就是一样的。因此,在网络回调函数和socket回调函数中需要区分是哪个socket上发生了通信事件。
如图4所示,Sip socket,rtp socket和rtcp socket 3个socket分别绑定端口1、端口2和端口3,共对应一个应用id,网络回调函数比较好处理,因为只有一个应用id,因此只打开一个ppp连接,只需要根据网络情况来进行判断。在socket回调函数中,我们以socket标志符作为标识来区别不同的socket,Sip socket的标志符是200,rtp socket的标志符是201,rtcp socket的标志符是202。由于每个socket所绑定的端口互不相同,于是当有读或者写的事件发生时,我们通过发生事件的端口就能找到对应的socket标志符,从而判断是哪一个socket上发生的事件,并且知道是读还是写事件,
然后转到相应的处理函数进行处理。例如进入通话后,当底层检测到有事件发生时,调用socket回调函数,通过端口2找到标志符为201的rtpsocket,查出是rtp的读数据事件,然后调用rtp接收函数去接收rtp数据。
实施例1保证了IP电话数据正常的接收和发送操作,也节省了移动终端的宝贵资源,由目前技术中需要使用的3个应用ID减少到只使用1个应用ID。
权利要求
1.一种移动终端数据通信的方法,包括打开网络库给移动终端分配一个应用id的步骤,利用id打开PPP连接的步骤,其特征在于还包括以下步骤利用该id建立两个或两个以上数量的socket;每个socket绑定一个对应的端口,端口之间互不相同;通过端口进行相应的数据发送和数据接收。
2.根据权利要求1所述的移动终端数据通信的方法,其特征在于利用一个应用id建立三个socket。
3.根据权利要求2所述的移动终端数据通信的方法,其特征在于三个socket是Sip socket,rtp socket和rtcp socket。
全文摘要
本发明公开了一种移动终端数据通信的方法,包括打开网络库给移动终端分配一个应用id的步骤,利用id打开PPP连接的步骤,还包括以下步骤,利用该id建立两个或两个以上数量的socket,每个socket绑定一个对应的端口,端口之间互不相同,移动终端拨打IP电话时,可以利用一个应用id建立三个socket,并且将它们分别绑定一个互不相同的端口,利用不同的端口进行相应的数据发送和数据接收操作,节省了移动终端的宝贵资源,可以增加手机中的WAP和email应用。
文档编号H04L29/08GK1561077SQ20041002369
公开日2005年1月5日 申请日期2004年3月12日 优先权日2004年3月12日
发明者周春松, 陈验方, 万初旭, 朱平洋, 曲喜维 申请人:海信集团有限公司, 青岛海信通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1