問題タブ [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.
networking - LAN/トラフィックの輻輳とは何ですか?
UDP について話しているときに、輻輳が数回発生するのを見たり聞いたりしました。どういう意味ですか?
c# - 特定のアダプター (例: 192.168.101.1) からのみ UDP ブロードキャスト (255.255.255.255) を送信します。Windows の場合
Windows XP 以降のソリューション。できればC#またはC++で。
接続しようとしているデバイスがこれに応答しないため、サブネット ダイレクト ブロードキャスト (192.168.101.255 など) を使用してブロードキャストしたくありません。代わりに、ブロードキャストが他の NIC で送信されないように、宛先が 255.255.255.255 の UDP データグラムを特定の NIC/IP アドレスからのみ送信できるようにしたいと考えています。
これは、IP スタックを回避する必要があることを意味します。これが問題です。特定の NIC/MAC アドレスからのみ UDP/IP 準拠のデータグラムを送信するために Windows の IP スタックを回避するにはどうすればよいですか?
windows - ブロードキャストをリッスンする UDP サーバー
サーバーは ActiveState Perl を実行している Windows XP 上にありますサーバー
は内部ネットワークと外部ネットワークに接続されています 内部ネットワーク上
のコンピュータはポート 9722 で 10.4.255.255 に udp でブロードキャストしています
ブロードキャストをリッスンし、メッセージを関数に渡す必要があります
これは私が使用しているコードです:
&parseInput は、渡された元の文字列を返すことに注意してください。
私の問題:
$sock->recv() を呼び出した後、$string が空になります。別のアプリケーションを使用すると、間違いなく 10.4.255.255 で情報がブロードキャストされていることがわかりますが、アクセスできません。
できれば、IO::Socket::INET を使い続けたいと思っています。
編集: recv(..) と $! の戻り値を確認しました。recv(..) と $! からの戻り値はありません。= 「不明なエラー」。
編集 2: Socket を使用しようとしています。今、次のものがあります:
エラーが生成されます -- recv: Unknown error at ...
networking - 一般的な Web ブラウザーでの UDP プロトコルのサポート
ロケーションバーに「udp://host:666」と入力してもうまくいきません。通常の Web ブラウザを使用して単一の「空の」データグラムをホストに送信するための回避策はありますか?
私が考えているユースケースはポートノッキングであるため、応答は問題ありません(「http://host:666」は、応答がない場合にブラウザーが要求を繰り返す傾向があり、指定されたノックに違反するため、うまく機能しません順序)。
java - Linux 上の Java: バインドされたローカル アドレスでブロードキャスト メッセージをリッスンする
Linux マシン上の Java から多数のネットワーク インターフェイスをリッスンし、そのうちの 1 つが特定のタイプの UDP パケットを受信するかどうかを判断できるという、やや奇妙な要件があります。必要な出力データは、問題のインターフェイスの IP アドレスです。Javaでこれを行う方法はありますか?
ワイルドカード アドレス (new DatagramSocket(port)) をリッスンしても役に立ちません。ブロードキャスト パケットを取得している間は、パケットが通過したインターフェイスのローカル IP アドレスを特定できないためです。特定のインターフェース (new DatagramSocket(port, address)) にバインドされている間にブロードキャストをリッスンすると、パケットがまったく受信されません。このケースは、私がやろうとしていることを示すコード例に値します:
また、インターフェイスの実際の IP の先頭に基づいて構築されたブロードキャスト アドレスでソケットを初期化し、残りは正しいネットマスクに従って初期化しようとしました。
これは、DatagramSocket を構築するときに BindException をスローするだけです。
EDIT:ブロードキャストアドレス(例:126.255.255.255)でDatagramSocketのコンストラクターを呼び出すことによるBindException(java.net.BindException:要求されたアドレスを割り当てることができません)は、最新のUbuntu 9.04にのみ付属しています(おそらくUbuntuではなく、カーネルバージョン固有の問題です) . これは Ubuntu 8.10 で機能し、私が扱っている Red Hat リリース (RHEL 4.x) でも機能しました。
Windowsではこれは機能しますが、特定のローカルIPにバインドされている間にパケットを受信しないことは明らかに正しい動作です。Linux (RHEL および Ubuntu) で動作させる必要があります。低レベルの C コードには、Java API では見つからない回避策の setsockopt(SO_BINDTODEVICE) があります。しかし、これは私を楽観的に爆発させるわけではありません:-)
java - 別のアプリケーションから UDP クライアントに到達できない
UDP を使用して Java でクライアント サーバー アプリケーションを実現しようとしています。問題は、クライアントがサーバーに接続し、サーバーがクライアントを登録し、別のアプリケーションが clientIP と clientPort を使用してクライアントに接続しようとする場合です。クライアントはデータを取得できません。
クライアントの IP とポートを使用して DatagramSocket を再作成し、クライアントに接続することができましたが、これを別のアプリケーションで行うと、通信が行われません。
サーバー上のクライアントをリッスンしているポートは、サーバー アプリケーションが使用しているポートとは異なります。
どうすればこのコミュニケーションを達成できますか?
私を助けてください。ありがとうございました。
networking - BlackBerry Simulator での UDP 接続テスト
UDP (データグラム) を使用してデータを送信しようとしています。シミュレーターでアプリケーションをテストできません。最初に MDS を実行してからシミュレーターを実行してみましたが、うまくいきませんでした。このエラーは、BlackBerry シミュレータ コンソールで既に使用されているポート 8080 として表示されます。シミュレーターでポートを変更するにはどうすればよいですか? 接続先の UDP ポートは localhost:5014 です
BlackBerry Pearl 8100 のシミュレーターを使用しています。
tcp - MSMQ は TCP または UDP で動作しますか?
MSMQ (Microsoft Messaging Queue) が TCP または UDP で動作することを知りたいですか?? そしてどのポートで?
java - Java で UDP クライアントに到達できない
接続時にIPとクライアントのポートを収集し、情報をデータベースに保存する単純なUDP Javaサーバーを実行しています。
クライアントはまだサーバーをリッスンしています。サーバーが停止します。
後で、サーバーはデータベース情報を再利用してクライアントに到達したいと考えています。クライアントはまだサーバーの同じポートをリッスンしているため、クライアントは通信を受信する必要があると思います。
私はUDPを初めて使用します。上記の目的を達成する方法を教えてください。ありがとうございました。
Stackoverflowのメンバーが提案した方法を試したので、質問を言い換えましょう。
サーバーは短時間でクライアントに接続できますが、たとえば 10 分後にはクライアントに到達できません。クライアントは常にサーバーをリッスンする準備ができているように見えますが、サーバーは何度か試行してもクライアントに到達できません。これの原因は何ですか?これの対処法を教えてください
udp - 234.xxx IP アドレス - それは何ですか
私は過去にかなりの数の UDP ソケット プログラミングを行ったことがありますが、通常の予約済み IP についてしか聞いたことがありません。
- 127.0.0.1
- 192.168.xx
- 10.xxx
しかし、IP2Location からはマルチキャストと表示されます。234.5.5.1は実際の IP アドレスですか、それとも予約済みですか?