gpt4 book ai didi

Java套接字使用wireshark获取数据包

转载 作者:行者123 更新时间:2023-11-29 05:35:07 26 4
gpt4 key购买 nike

我的客户端代码是这样的:

   socket = new Socket("10.105.1.20", 5678);
DataOutputStrean dos = new DataOutputStream(socket.getOutputStream());
short len = 4;
dos.writeByte(len);
dos.writeByte(len >> 8);
dos.writeShort(0x0410);
dos.flush();

发送到服务器应该是4个字节,但是当我用wireshark抓包时,数据是3个字节

   00 04 10

我觉得应该是

   04 00 04 10

第一个字节 04 在哪里?我的代码有什么问题还是与wireshark有关。谢谢你的帮助!

最佳答案

没有任何东西可以保证所有四个写入都将在同一个数据包中发送。可能第一个字节是自己发送的,然后接下来的三个字节是通过 Nagle 算法合并的。您可以使用 BufferedOutputStream 并在您希望发送写入时刷新它,但仍然无法保证。 TCP 可以按照它喜欢的任何方式对您的数据进行分段。

关于Java套接字使用wireshark获取数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19785508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com