首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动平台 >

蓝牙串口的多应用复用有关问题

2012-02-06 
蓝牙串口的多应用复用问题现在在做一个手机间的蓝牙串口通信程序,我有个费解的问题想请问一下。两台手机间

蓝牙串口的多应用复用问题
现在在做一个手机间的蓝牙串口通信程序,我有个费解的问题想请问一下。

  两台手机间建立了一个串口(RFCOMM)连接,但如果多个应用同时要通过这一个串口连接来进行通信,
比如说同时传送文件和聊天,肯定不希望要等到文件传送完后才可以聊天,那这样是不是需要自己实现串口的分时复用?

  如果真的需要这样实现,那我就只能想到把文件和聊天信息拆分成网络包的形式然后分时
向同一个串口连接进行发送。但这样一来是不是也需要设置一些像“包大小”和“帧定界”来让接收端可以把各个包
区分开来并进行重组,甚至还要进行ARQ确认和重传等。那复杂度不就等于要重新写一个TCP/IP的协议了!!

 
  不知道要让一个串口实现多种应用是不是一定要按照这种思路去实现,还是有另外一种更好的解决方法?请各位
帮帮忙。
   
  (PS:还有应该可以多建立一个串口连接来发送文件,但是要管理这样的连接很麻烦,不想这样做。)


[解决办法]
老实说,我觉得开多个串口更方便一些,其实针对两台机子来说,基础的acl连接只能有一条,你在上面开多个串口其实也只是在rfcomm层做了复用而已,和你自己在一个串口上去管理多路数据是一样的,区别在于是由协议层来帮你做了复用管理,你不需要去关心分时、冲突等细节。对应用上层来说,多个串口其实就是多个socket的管理了,处理难度我觉得要比单socket自行管理多类型数据要简单

热点排行