我在我的應用程序中遇到問題,從ip = 192.168.0.3和端口= 502的套接字讀取。另一個程序通過片段將消息寫入該端口片段(mac fragmnet長度爲205字節),我需要逐個片段讀取該消息。但是當我寫這篇文章的時候,我把所有的片段都放在一個大的文件中套接字輸入流不會按片段讀取片段
boolean last=false;
int numberFragment=0;
while (((!last)) ) {
numberReceived = socketInputStream.read(buffer);
numberFragment++;
tempBuffer = new byte[numberReceived];
ByteBuffer baferce = ByteBuffer.wrap(tempBuffer);
baferce.put(buffer, 0, numberReceived);
//System.out.println("RECEIVED="+(new String(tempBuffer)));
last=ResponseFragmentCheck.IsLastFragment(tempBuffer, numberFragment);
System.out.println("LAST ="+last);
PrintBytesArray(tempBuffer);
received.add(tempBuffer);
}
有沒有什麼辦法,我Java閱讀片段?
不真實。寫入被收集,直到一組複雜的條件成立爲止,其中包括填充緩衝區,定時器到期時間,收到未決的ACK。並且沖洗()仍不能確保數據以與發送的量相同的量接收。這是一個字節流。 – EJP
你使用哪種語言/ API對套接字有flush()? – Andrew