用线程解决网络断开重连的问题

wuquan-1230   2011-10-19 16:23 楼主

网络断开重连-------线程

 

网络断开后重连的问题,可以使用线程去重连,即创建一个线程专门负责去建立连接,如果连接断开,则由这个线程去重新连接,连接完成后,这个线程则会阻塞(休眠)。

      

       在这里可以使用这个函数:

pthread_mutex_lock(&mutex);

将其上锁,这样的目的是保证该线程在成功创建线程后不再重复执行,第二次直接阻塞在这句。

      

       在程序中如果发现网络连接断开了,则直接执行解锁函数:

       pthread_mutex_unlock(&mutex);

解锁后负责创建连接的线程被唤醒,继续往下执行,创建连接。

 


 

回复评论 (2)

直接用UDP也可
http://item.taobao.com/item.htm?id=12366456386 Arduino 兼容的  maple
点赞  2011-10-19 18:33

回复 沙发 ssawee 的帖子

UDP是面向无连接的,数据容易丢失,有时候只能用tcp,面向连接的安全通道
我是黑客
点赞  2011-10-29 17:00
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复