网络编程 - Java调用DataOuputStream的write方法写入数据第一个字节不知所踪
大家讲道理
大家讲道理 2017-04-18 10:36:57
0
4
916
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(4)
巴扎黑

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

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

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

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

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

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

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

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

いいねを押す +0
巴扎黑

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

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

お役に立てば幸いです~

いいねを押す +0
迷茫

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート