Разные размеры 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 . Почему он берется из воздуха?


Ответы (0 шт):