socket中DataOutputStream.writeUTF()写入DataInputStream.readUTF()读取,数据丢失

socket中DataOutputStream.writeUTF()数据 DataInputStream.readUTF()读取数据,多线程并发情况下存在数据丢失,写入后却读不到 求指点指点

会不会是因为DataInputStream..readUTF()方法在循环读取的时候 阻塞了?https://blog.csdn.net/weixin_44849449/article/details/122554618

谢谢各位,问题解决了,我偶然看到一篇文章,是因为socket 在高并发情况下会存在粘包半包的情况,解决了粘包的问题 就没有出现数据丢失的问题了。

代码放点看看

每读到一个数据,创建一个线程处理数据,线程处理完数据后自动销毁;
单客户端多线程并发数据给服务器时,单客户端的多线程发数据部份要增加线程互斥,前一个线程发完再发后一个线程,
如果是多客户端同时发,服务器要按多客户端处理数据,供参考。

img