ネットワークプログラミング相談室 Port26
■ このスレッドは過去ログ倉庫に格納されています
0784デフォルトの名無しさん
2010/10/10(日) 21:00:54WinSock 2.0 を使い、サーバ・クライアントモデルのアプリを作っています。
また、WSAAsyncSelect を使って接続を非同期にしています。
同じマシンでサーバとクライアントを両方立ち上げ、127.0.0.1 で接続すると正常に動作しています。
ところが、インターネット経由で接続すると、connect 時にメッセージで WSAETIMEDOUT が返ってきます。
IP は ttp://cgi13.plala.or.jp/hiro-mg3/ip.shtml で調べて接続しました。
(ルータを挟んでいるため ipconfig では自分自身の WAN 側のアドレスを取得できませんでした。)
LAN 側のアドレス (192.168.〜) では正常に動作しました。
ファイアーウォールを疑い、ルータの設定で全てのポートを開放、セキュリティソフトもオフにしましたが、結果は変わらずでした。
127.0.0.1 で上手く動き、インターネット経由では上手くいかない可能性として何が考えられるでしょうか…。
関係ありそうなソースは以下の通りです。
よろしくお願いします。
SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
WSAAsyncSelect(sock, 〜, 〜, FD_ACCEPT | FD_CONNECT | FD_READ | FD_WRITE | FD_CLOSE);
sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(54321);
server.sin_addr.S_un.S_addr = inet_addr("〜");
connect(sock, (sockaddr *)&server, sizeof(server));
■ このスレッドは過去ログ倉庫に格納されています