网络通信中,长连接,客户端为了防止请求假卡死而用了线程,应该怎样接收数据解决方法

网络通信中,长连接,客户端为了防止请求假卡死而用了线程,应该怎样接收数据
网络通信中,长连接,客户端为了防止请求假卡死而用了线程,
这时如果客户端的多个线程同时向服务端发数据,发送数据是否会乱,如果在发送数据时加了临界区,保证发送完一个请求后再发送下一个。服务端收到这些请求并处理完成后返回数据给客户端,客户端应该怎么接收呢?怎样保证各个线程接收到自已请求的正确数据。
------解决方案--------------------
如果在发送数据时加了临界区,保证发送完一个请求后再发送下一个
---------------------
如果你是这种需求 根本没必要用多个发送线程, 一个发送线程就够了

如果是多个socket发送, 接收也不可能乱啊, 每个socket接收数据都是绑定不同的端口号来接收的。 
------解决方案--------------------
同意 1楼的建议。

1.如果客户端使用的是同一个socket的话,就必须使用临界区,或信号之类的,来保证对socket操作的独占,操作完成后,再交权给下一个线程继续操作。不过1楼也说了,完全可以写一个发送线程,这个线程就是只管发送,这样就没有必要使用临界区,信号之类的。如果服务器需要返回信息而要区别是哪个线程的操作话,可以在发送数据时,加上线程的ID号,而且服务器返回数据时,也有线程ID号,通过线程ID号,来向线程发送消息,来读取此时资源或数据。

2.如果每个线程都有一个socket的话,哪就完全没有必要的。不过,这样比较乱,维护起来也麻烦。还是用一个发送线程,省事,维护也方便。