ホームページ  >  に質問  >  本文

网络编程 - Java调用DataOuputStream的write方法写入数据第一个字节不知所踪

大家讲道理大家讲道理2762日前906

全員に返信(4)返信します

  • 巴扎黑

    巴扎黑2017-04-18 10:38:57

    TCP スティッキー問題は解決しましたか?
    TCP であるため、スティッキー パケット の問題を考慮する必要があります。 スティッキー パケット の問題が解決されていない場合、どのバイトがパケットの最初の 4 バイトであるかを判断できません。 粘包的问题。粘包问题不解决的话,你没办法确定哪些字节才是一个包的开头4个字节。

    简言之就是,你收到一大堆字节,然后这些字节的来源可能如下:

    • 两三个包的所有字节一起发过来

    • 前一个包的后半部分和后一个包的前半部分字节一起发过来

    • 总之,就是半包或者粘包的混合

    我们用的是netty,tcp粘包的问题,这里有一个很好阐述和基于netty

    つまり、大量のバイトを受信します。これらのバイトのソースは次のとおりです。 🎜
    • 🎜2 つまたは 3 つのパケットのすべてのバイトをまとめて送信します🎜
    • 🎜前のパケットの後半と次のパケットの前半バイトが一緒に送信されます🎜
    • 🎜要するに、袋半分か粘着袋を混ぜたものです🎜
    🎜TCP スティッキー パケットの問題を解決するために netty を使用しています。netty に基づいたよく説明された解決策は次のとおりです: https://my.oschina.net/アンディル…🎜

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:38:57

    パケットをキャプチャせずに Java で入力ストリームを直接読み取るとはどういう意味ですか?

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:38:57

    これはソケット通信ヘッダーの問題であり、以前のプロジェクトでこの問題を処理した方法は次のとおりです。 リーリー

    パケットキャプチャツールを使用したことがない場合は、受信ソケットを作成することをお勧めします。または、相手が受信して正常に解析できる場合は問題ありません。パケットキャプチャで問題が発生しました

    お役に立てば幸いです~

    返事
    0
  • 迷茫

    迷茫2017-04-18 10:38:57

    フラッシュに電話しましたか?

    返事
    0
  • キャンセル返事