1

私はvb6のwinsockの助けを借りて簡単なクライアント/サーバープログラムを作成しました。LANでは完全に機能しますが、問題はWANでは機能しないことです。すべてのポートはすでに開いており、ファイアウォールはすでにオフになっています。動的IPを使用しているため、No-ipを使用して名前付きIPアドレスを取得しました。
もう1つ質問したいのは、クライアントとサーバーの両方でポートを開くことが重要ですか?たとえば、ポート50505でプログラムを作成し、クライアントコンピュータでポートを開いていますが、サーバーでも50505を開くことが重要ですか?

これが私のプロジェクトです。

誰かが問題を見つけることができたら私に知らせてください。よろしくお願いします

4

2 に答える 2

1

まず、クライアント側のプログラムで、Localport が何も設定されていないことを確認します。これは、Windows が割り当てますが、RemotePort は 50505 に設定されているためです。サーバー側では、RemotePort は何も設定されておらず、LocalPort は50505 に設定します。

次に、サーバーがネットワーク上に静的 IP を持っていることを確認する必要があります。そのため、ルーターの LAN IP が 192.168.1.1 の場合、サーバーを 192.168.1.50 のような値に設定する必要があります。範囲または DHCP サーバー (各コンピューターに IP を与えるサーバー) に入らないようにしてください。ルータからのアドレス)。

次に、「ポート転送」用にルーターをセットアップする必要があります。デフォルトでは、ルーターは、インターネットが送信するデータをどうするかわかりませんでした. ポート 50505 からネットワーク上のサーバーにデータを転送するようにルーターを設定する必要があります。

この継ぎ目は非常に長く引き出されていますが、セットアップに 5 ~ 10 分以上かかることはありません。

幸運を!

于 2013-01-19T08:27:23.253 に答える
0

サーバーが背後にあるルーターを構成して、そのポート上の接続をサーバーを実行しているコンピューターに転送する必要があります。

そうしないと、クライアントはサーバーに接続できません。

于 2013-01-14T20:54:42.203 に答える