私はAcceptメソッドでリッスンしているServerSocketオブジェクトを持っています。外部ネットワークではなく同じネットワークからの接続のみを受け付けるにはどうすればよいですか?ローカルネットワークからの接続をJavaでのみ受け入れる方法
答えて
システムに複数のネットワークインターフェイスがあり、そのうちの1つがローカル接続のみを受け取り、他のインターフェイスを無視する必要がある場合は、ServerSocket
にnetorkインターフェイスのIPアドレスを設定して、
ServerSocket ssocket = new ServerSocket(1234, 10, InetAddress.getByAddress("192.168.1.1"));
明らかに、2つのServerSocketsが必要です。
同じネットワークインターフェイスからローカル接続とリモート接続を受信した場合は、リモートピアを自分で確認する必要があります。これは、異なる方法で行うことができます。
- あなたは
checkAccept
を実装し、接続試行が間違った場所から来る場合SecurityException
をスローSecurityManager
を設定することができます。これはグローバル設定なので、そこから接続を受け入れるべきであるアプリケーションの他の部分にServerSocket
を設定することはできません。 - あなたはローカルであると
ServerSocket
から返されるSocket
のIPとポートを確認し、それがない代わりに、あなたがServerSocket
のサブクラスを作成することができます
が
super.accept
を呼び出す方法
checkAccept
をオーバーライド要求を続けるのかどうソケットを閉じることができますオプション2で説明したように対応するチェックを行い、検索された接続が基準に適合する場合にのみ返すか、そうでなければそれを閉じてスーパーメソッドを再度呼び出します。
ローカルIPアドレスを受け入れるコンストラクタを使用してServerSocket
を作成し、そのIPアドレスとして127.0.0.1
を指定します。
私が質問を理解する限り、それはローカルシステム、つまりローカルマシンと同じネットワーク内のシステムからの接続に関するものです。だから我々は 'localhost'からの接続について話していません – Lothar
はい私はlocalhostを求めませんでした。 – oksuzlerOmer
- 1. Java Webサーバーへのリモート接続を受け入れる方法
- 2. ソケット接続を受け入れるJava EEアプリケーションに接続
- 3. Javaソケット1つのIPからの接続を受け入れる
- 4. mysqlが外部で接続を受け入れる方法
- 5. GoのローカルホストからのHTTP接続のみを受け入れますか?
- 6. ログインページから登録ユーザーのみを受け入れる方法
- 7. ソケットファイルディスクリプタをバッファに入れ、着信接続の受け入れを続ける方法は?
- 8. MySQLは、ローカル、ローカルネットワーク、およびバインドアドレスとの外部接続を受け入れますか?
- 9. Golangサーバで永続的なtcp接続を受け入れる
- 10. ソケットで無制限の接続を受け入れる
- 11. TCPソケットで接続を受け入れるためのiOSアプリサンドボックス
- 12. Javaでソケット接続を受け入れることができない
- 13. java - 長期にわたる大量のクライアント接続を受け入れるサーバー
- 14. テキストボックスからの入力を受け入れる方法
- 15. Pygame GUIからのテキスト入力を受け入れる方法
- 16. 自動接続がJava接続で実行されたときに通知を受け取る方法は?
- 17. Javaのファイルから入力を受け入れる
- 18. Google Compute Platform - ターゲットプロキシからのトラフィックのみを受け入れる方法
- 19. Javaソケットが接続を受けない
- 20. ローカルネットワーク上のMac OS XからWin7上のcisco接続にアクセスする方法
- 21. 新しい接続の受け入れを停止する
- 22. C++ Winsock API接続を受け入れる前にクライアントIPを接続する方法は?
- 23. 別のドメインからのクッキーを受け入れる方法
- 24. Javaで数値のみを受け入れるテーブルフィールド
- 25. Azure Servicebus AMQPのURLが受け入れられない/またはLibertyをAzureサービスバスに接続する方法
- 26. Javaセレクタ接続を受け入れた後にselect()に留まる
- 27. クライアント(ビデオストリーム)からのTCPストリームを受け入れる方法は?
- 28. Javaでwebserviceを「受け入れる」方法
- 29. クライアントからサーバへの接続のみの受信の受信
- 30. 特定のIPからのソケットのみを受け入れる
答えをありがとうが、私はより簡単な方法を見つけた。 isAnyLocalAddress()は、接続がローカルネットワークから来ている場合にtrueを返します。 – oksuzlerOmer