基于WSP/WTP的MMS传输(9)——开发中要解决的问题

来源:互联网 发布:淘宝哪些店铺女装好看 编辑:程序博客网 时间:2024/05/16 19:10

九 开发中要解决的问题

   声明:老鸟可以跳过下面的废话,小鸟可以看看。

 

    向WAP 网关发送数据包和从网络接收数据包的管理。如果我们只是串行的处理数据,即应用层发送数据,在服务器给出响应之前,不再发送后面的数据。则WSP/WTP 处理要简单得多,这样做的话,应用层和下面的WSP/WTP 耦合程度很紧密,在服务器响应之前,应用层不能做其它的事情。但是,如果我们的WSP/WTP 层可以并行处理应用层发送的数据的话,应用层就可以从等待服务器的响应的状态中解脱出来,并且应用层和WSP/WTP 层的耦合度要低得多了,便于代码的维护。这需要WSP/WTP 层能够灵活的管理收发的数据包,对服务器可能出现的各种回应作处理。同时,如果WSP/WTP 太复杂,代码执行效率太低,则还会存在网络超时的问题。解决这一问题的一种方案是,对于要发送和接收的数据包,我们维护一个发送数据队列和一个接收数据队列,然后采用多线程对数据进行处理。这里面要做好的工作一个是内存管理问题:要收发的数据包所需内存在哪里分配,队列的数据包什么时候可以释放,在哪里释放;另一个是线程同步策略问题:什么时候我们可以发数据,数据来了,我们怎么对数据进行处理,没来得及处理的数据包怎么处理等。

    应用层与WSP 层,WSP 层与WTP 层怎么交互,是通过事件,还是通过回调函数?层与层的数据怎么交流?我的看法是,就结构的清晰上来说,我倾向于通过事件来协调两层之间的事务,虽然效率上要略低一点。当代码量很大的时候,如果结构不清晰的话,很容易把自己给套进去,到最后自己也看不懂自己写的代码了。

 

最后面会有一个mms收发的具体例子可以参考,我整理后会放上来。

 

 

<------------ 未完待续 ------------>