Разные размеры TCP пакетов
Отсылается 5 пакетов в цикле через client.sendMessage(). Все пакеты, как видно из кода, одинаковые. Но второй(и только второй) пакет имеет длину IP + TCP заголовка 60 bytes. А все остальные пакеты 52 bytes. В чем может быть проблема?
Код сервера:
public class TestServer {
private ServerSocket server;
private Socket socket;
private BufferedReader in;
public void start(){
try{
server = new ServerSocket(4445);
socket = server.accept();
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (true){
String s = in.readLine();
if (s == null) break;
}
} catch (IOException e) {
e.printStackTrace();
}
}
public void stop(){
try {
in.close();
socket.close();
server.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Код клиента:
public class TestClient {
private Socket socket;
private OutputStream out;
public void startConnection(){
try {
socket = new Socket("localhost", 4445);
out = socket.getOutputStream();
} catch (IOException e) {
e.printStackTrace();
}
}
public void sendMessage(){
byte[] message = new byte[100];
Arrays.fill(message,(byte)3);
try {
out.write(message);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
public void stop(){
try {
out.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
UPD:
У второго пакета стоит флаг SYN = TRUE . Почему он берется из воздуха?