2009-05-12 7 views
3

から到達できません。問題は、クライアントがサーバーに接続し、サーバーがクライアントを登録し、別のアプリケーションがclientIPとclientPortを使用してクライアントに接続しようとしたときです。クライアントはデータを取得できません。UDPクライアント、私はUDPを使用してJavaでクライアント・サーバ・アプリケーションを実現しようとしています別のアプリケーション

私は彼のIPとポートを使用してクライアントに接続するようにしたDatagramSocketを再作成することができましたが、これは別のアプリケーションによって行われたときに、通信が実現されていません。私は、サーバー上のクライアントに耳を傾けていたポートを言及したいと思います

は、サーバアプリケーションが使用しているポートとは異なります。

どのように我々は、この通信を実現することができますか?

私を助けてください。ありがとうございました。

答えて

0

私は多分、ポイントを逃すが、私はあなたのクライアントがサーバー上で実行されている他のアプリケーションによって接続試行を受け入れることができるようにするためには、あなたのクライアント受け入れ(サーバーのような部分にいくつかのリスニングモジュールを実装する必要があることだと思います着信接続)。 「クライアントがサーバーに接続したときに..」http://www.java2s.com/Code/Java/Network-Protocol/UDP.htm

1

コメント、あなたが(接続を使用した場合、私は疑問に思う製)、クライアントのDatagramSocketの上: あなたはここにいくつかの便利な例を見つけることができます。その場合は、ソケット上でconnect()を呼び出さないでください。 UDPはコネクションレスプロトコルであり、connect()は必要ありません。 UDPソケットでconnect()を呼び出すことで、ソケットはconnect()で指定されたホストとの間でのみデータを送受信できます。

そうでない場合は、私は考えることができる唯一の理由は、クライアント・マシンは、いくつかのファイアウォールが有効になって、またはNAT /ファイアウォールがクライアントとサーバーまたは他のホストの間にあります持っていることです。クライアントが他のアプリからのパケットを受信して​​いるかどうかWiresharkで確認します。

これが役に立ちます。

関連する問題