偶初学习网络编程,遇到一头疼问题:(socket编程,客户端)
我做的程序中用到两个Socket:sock1(UDP),sock2(TCP).
先利用sock1从服务器1获得需要的查询信息,sock2再利用此信息与服务器2通信。(此过程不断的循环)
做成一个独立的小程序(单线程)时,正确率非常高。
但是整合到一个大的程序中(多线程,每个线程中都要做上面的工作)时,发现sock1也就是UDP协议的丢包率特别大,sendto成功后recvfrom经常收不到包,sock2与服务器的连接也经常失败。
程序中对sock1设置了收、发超时,sock2用的非阻塞(程序在sock1之前还有一个sock做别的工作,也是非阻塞的),呵呵,不好意思,挺乱的,我描述不太清楚,打下见谅。
问题就是求教大虾如何降低UDP的丢包率(现在快50%了),还有就是有什么错误请指出,或给点好的建议,偶现在脑子乱呼呼的,也不知道该怎么问了。:(