java Socket编程,收不到包问题
问题描述:一个服务端,一个客户端。客户端往服务端传文件,具体细节不说了,客户端发给服务端的是文件处理后的定长数据报文(由数据报文头和数据报文体组成,其中报文头里约定了客户端发送多少个定长报文后,服务端要往回发一个确认包,然后客户端才继续发送定长报文)。服务端每接收一个数据报文先对其处理(拆包,写入文件等),然后接收下一包,如果到了约定发送确认包的数量时发送一个确认包给客户端。
问题:在传小文件的时候没问题,但是在文件稍大一些的时候(4-10M)就出问题。我现在发送的报文是两包一个确认,问题出现在服务器接收每批第2包的时候,收不到数据,但是客户端那边显示已经发送,正等待确认,所以陷入了阻塞。但是这个问题不是一直出现,每次出现也不是在固定的位置。不知问题出现在哪儿?
抓包工具抓出来了截图:
怎么贴图?