2つ以上のプログラムが1つのポートでUDPパッケージを監視することは可能ですか? RS-232データをポート55110上のUDPに変換するデバイスがありますが、特定のコンピュータで1つのリスナしか実行できないようです。 2番目の原因「Address already in use」を試みます。 REUSE => 1は役に立ちませんので、コンピュータで聞いている他のプログラムがあります。複数のユーザーがデータをサンプリングしたい私はとても基本的な質問をお詫び申し上げます。「アドレスは既に使用中です」:私はUDPを誤解しています
3
A
答えて
3
2つのプログラムが同じUDPポートでリッスンすることは可能ですが、両方のプログラムがポートを共有できるように指定する必要があります。ここで(UDPソケット上だけで(バインドを呼ぶ前に呼ばれる))、これを行うためにOSに指示します私のコードからの抜粋です:
if (allowShared)
{
const int trueValue = 1;
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &trueValue, sizeof(trueValue));
#ifdef __APPLE__ // MacOS/X requires an additional call also
setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &trueValue, sizeof(trueValue));
#endif
}
0
あなたが同じUDPポートで待機二つのアプリケーションを取得した後でも、スティーブとして-oのコメントによれば、ユニキャストパケットは多重化されていません。これは、各パケットがリスニングアプリケーションのの1つをに送信することを意味します。
これを行う最善の方法は、ポート55110上のリスナーを設定して、着信パケットを、複数のクライアントアプリケーションがリスンしているlocalhost上の他のポートのリストに再送信するだけです。
1
udp_reflectorは、udpデータを扱う際に、 "Address already in use"問題を回避するためのシンプルなオープンソースツールです。
関連する問題
- 1. アドレスは既に使用中です。
- 2. Passenger、Plesk、Node.js:アドレスは既に使用中
- 3. Kestrelエラー:アドレスは既に使用中(ドットネットコア)
- 4. バインドに失敗しました:EADDRINUSE(アドレスは既に使用中)
- 5. アドレスは既に使用中です(バインドに失敗しました)
- 6. errno 98アドレスがすでに使用中、BokehサーバーとUDPプロトコル
- 7. Javaソケットプログラミング - アドレスは既に使用中です(errno = 98)
- 8. bind()failed:アドレスは既に使用中です
- 9. iOS PJSIPエラー:アドレスは既に使用中です
- 10. socket.error:[Errno 48]アドレスは既に使用中です
- 11. JUnitテストケースエラー:「アドレスは既に使用中です:バインド」
- 12. CriticalFinalizerObjectは誤解を使用していますか?
- 13. フラスコはGunicornで実行中のアドレスが既に使用中です
- 14. java.net.BindException:既に使用中のアドレスWSO2 APIM
- 15. java.net.BindException:既に使用中のアドレス:JVM_Bind
- 16. java.net.BindException:既に使用中のアドレス:bind
- 17. JAVA:java.net.BindException:既に使用中のアドレス:JVM_Bind
- 18. 私はstrlen()を誤解していますか?
- 19. 私はreloadRowsAtIndexPathsを誤解していますか:
- 20. 私はポインタの仕組みを誤解していますか?
- 21. nginx-bind()0.0.0.0:80に失敗しました(98:アドレスは既に使用中)
- 22. Pythonソケットプログラミング:例外の後に "アドレスは既に使用中"
- 23. Flaskサーバーの起動に関する問題 - アドレスは既に使用中です
- 24. 私は「分」を誤解していますか?私が持っている
- 25. java.net.BindException:既にアドレスがtomcatで使用されています
- 26. Python SSHサーバー(socket + paramiko) "アドレスは既に使用中"
- 27. socket.error:[Errno 48]アドレスが既に使用中です// pythonエラー
- 28. John Hughesの「foldtree」について私は誤解していますか?
- 29. Socket.ioは誤解されています
- 30. フラスコ実行中問題:socket.error:[Errno 98]アドレスが既に使用中
のみブロードキャスト&マルチキャストパケットが多重化され、ユニキャストパケットは最初のソケットに送信されます。 –