問題タブ [udp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 分割できるUDPパケットを作成する
vb.netで単純なudplanチャットアプリケーションを構築していますが、パケットをどのように分割する必要があるのか疑問に思っています。送信される各パケットには、ID、ユーザー名、IPアドレスなどが含まれている必要があります。また、参加または脱退してユーザーリストとテキストメッセージを更新するためのコマンド部分も含まれている必要があります。これらすべてを単純なパケットに入れて、受信時に簡単に分割して別の部分にアクセスする最も簡単な方法を知りたいです。ありがとう。
これはLANのみであるため、UDPを使用しているので、*.*.*.255
編集:あなたの答えをありがとうジョン、しかし私はすでにそれをすべて知っています。私が知りたいのは、ユーザー名、ID、コマンド、テキストメッセージが含まれるようにパケットをフォーマットする最も簡単で強力な方法です。次に、それを受信したユーザーがそれを復号化して、 userまたは、joinまたはleaveのようなコマンドの場合は、参加の適切なメッセージを表示し、ユーザーを例のリストに追加します。
.net - スレッドで UDP ブロードキャストをリッスンする
に簡単なメッセージをブロードキャストしています。.*.255 (私の IP の最後の部分を 255 に変更) を聞いてみました。コードはエラーを返しませんが、何も受け取りません。Wireshark では、ブロードキャストが正しく送信されていることを確認できますが、毎回異なるポートを使用しています (それが大したことかどうかはわかりません)。これが私のコードの一部です。
c++ - オープンソースとクロスプラットフォームのマルチプレイヤー/ネットワークライブラリ?
raknetは機能の観点からはかなり興味深く、本当に魅力的ですが、そのライセンス条項は、商業的に利用される可能性のあるGPLのプロジェクトにとっては厄介であるように思われます。これは、クリエイティブコモンズライセンスの条項によって明示的に禁止されています。
opentnlもありますが、最近はそれほど積極的に保守されていないようです。実際、最新の安定したtarballのダウンロードは、gcc> = 3.0(?)をサポートしていないため、コンパイル中に失敗します。
もちろん、まだenetもありますが、これは、raknet/opentnlでサポートされている抽象的な機能と実際に比較することはできません。
それで、ACE、Boost、Pocoなどの重要な依存関係とは別に、かなりコンパクトで手入れの行き届いたUDPネットワークライブラリを埋め込むための実行可能な代替手段はありますか?
ありがとう
java - UDPパケットをスプーフィングする生のパケットを作成する
Javaを使用してUDPパケットをスプーフィングしようとしています。独自のRAWソケットを作成できる優れたJavaライブラリはありますか?
windows - マルチホーム システムでの UDP ブロードキャスト
UDP ブロードキャストを使用してリモート デバイスを検出/構成するプロジェクトに取り組んでいます。これらのデバイスには、少なくとも接続先のネットワークと一致するように、まだ IP アドレスが構成されていない可能性があります。sendto
現在、ターゲット アドレスが のシングルを使用しています255.255.255.255
。これはほとんどの場合うまく機能しますが、複数の NIC を持つ Vista マシンでは、ブロードキャストはインターフェイスの 1 つだけから送信されるようです。Vista にブロードキャストをすべてのインターフェイスに送信させるにはどうすればよいですか?
c - recvfrom() を連続して呼び出すとデータが失われますか?
UDP を使用する信頼性の高いファイル転送プログラムに取り組んでいます。(コンピュータ ネットワーキングのコースの場合。)
私の質問はこれです-まあ、このシナリオを考えてください:
送信者には、(たとえば) 送信する 12 バイトのデータがあります。したがって、送信者は次の呼び出しを実行します。
これにより、信頼できない方法で 12 バイトのデータが送信されます。このデータの最初の 4 バイトはたまたま「メッセージ長」フィールドです。この場合、最初の 4 バイトの値は 0x0000000C になる可能性があります。
受信者は、recvfrom() を使用して最初の 4 バイトを読み取りたいと考えています。セグメント サイズが 12 バイトであることを確認して、残りの 8 バイトを読み取ります。したがって、レシーバーは次のようになります。
/li>
このコードを実行すると、最初の 4 バイトは問題なく受信できます。しかし、残りのデータを取得しようとすると、そのデータが失われたようです。私の出力では、ガベージが表示されています。次の12 バイトの一部のように見えますが、送信者は sendto() を行っています。
これは予想される動作ですか?つまり、1 回の recvfrom() 呼び出しで送信されたすべてのデータを読み取れない場合、そのデータ (残りの 8 バイト) が利用可能であるという保証はありませんか?
セグメント ヘッダー (サイズを含む) を送信し、その後にペイロードを送信する標準的な方法は機能しないようです。これは、ヘッダー情報のみを含む 2 つのセグメントと、ペイロードを含む 2 番目のセグメントを送信する必要があるということですか? それとも、これらのシステムコールを間違って使用しているだけですか (または、欠落しているフラグまたは setsockopt() がありますか?)
linux - すべてのインターフェイスでの UDP ブロードキャスト
有線および無線インターフェイス (192.168.1.x および 192.168.2.x サブネットなど) を備えた Linux システムで、利用可能なすべてのインターフェイス (つまり、有線および無線インターフェイスの両方) を介して送信される UDP ブロードキャストを送信したいと考えています。 )。
現在、私は INADDR_BROADCAST に sendto() を送信していますが、ブロードキャストのみがインターフェイスの 1 つを介して送信されているようです (常に同じブロードキャストと後続のブロードキャストが他のインターフェイスを使用するとは限りません)。
すべてのインターフェースを通過する UDP ブロードキャストを送信する方法はありますか?
php - UDP経由でPHPでデータをIPアドレスに送信するにはどうすればよいですか?
UDP経由でPHPでデータをIPアドレスに送信するにはどうすればよいですか?
他のコンピュータでそのデータを受信するにはどうすればよいですか?
このコードは、別のコンピューターで読み取ることができるプログラムで「kik」を送信しますが、ブラウザーでどのように表示できますか?