2016-04-26 4 views
1

私は、Eiffelプログラミング言語を使用して同じLAN上の2台のPC間のソケットを使用して接続を確立しようとしています。私はEiffel Studioのインストールディレクトリにデフォルトであるサンプルを実行しようとしています。しかし、今私はlocalhost(127.0.0.1)に対処することで、同じマシン上で作ろうとしています。エッフェルネットのクライアントサーバーモデルを起動する開発者の例外

これはLinux(Ubuntu 15.10)でも動作しますが、Windows 7ではクライアントプログラムを実行しようとすると例外が発生します。例外のコードは24です。接続を確立できません。サーバープログラムは正常に動作し、私は既にLinux上のクライアントとWindows上のサーバーとの間に接続を確立しています。ドキュメントや他のサイトでこの例外に対する解決策を見つけることはできませんでした。ここでSCREENCAPである:ここでは

Screencap of the debugger

は、docへのリンクです:

https://www.eiffel.org/doc/solutions/Two%20Machines

は、事前にありがとうございます。

+0

Windowsでクライアントとサーバーの両方を実行していますか、または仮想マシンでそれらのいずれかを実行していますか?私は両方のWindows(同じマシン)で実行されている場合は、問題はないことを確認したばかりです。ただし、仮想マシンを実行しているときには、ポート番号に問題がある可能性があることを覚えておいてください。自動的に解放されず、解放するために完全な再起動が必要になることがあります。 –

+0

はい、同じマシンで試しました。仮想マシンではありません。同じポートで動作させるためにどのポートを使用したのか教えてください。 –

+0

ポート番号は55555です。 –

答えて

0

この問題は、一部のポートが使用され、その他がシステムによって予約されていることが原因で発生している可能性があります。特に、ポート範囲0〜1023は、一般的なシステムおよびネットワークサービスで使用するように指定されています。この範囲外のポートも登録することができる(例えば、Service Name and Transport Protocol Port Number RegistryまたはList of TCP and UDP port numbers)。システムのセキュリティ設定によって、アプリケーションが特定のポート番号を使用できなくなる可能性もあります。

解決策は、ユーザーアプリケーションで使用可能なポート番号を探して使用することです。現在Windows上で使用されているポートはnetstat -anであり、使用できるものはTCP/IPとファイアウォールの設定に関連しています。最も簡単な方法は、他のポート番号を使用することです。 1024-49151の範囲内である。

関連する問題