私が直面している問題は、見出しに記載されています。これは私がいる場所です:
ポート 61911 で Socket Server を起動して実行します。
_server.Bind(新しい IPEndPoint(IPAddress.Any, 61911));
そして、そのポート (61911) がグローバルに開かれ、サーバー IP アドレスが 192.168.1.2 (私の PC) に設定されます。
ファイアウォールとウイルス対策プログラムはうまく処理されます。
ソケット サーバーを実行し、 YouGetSignal.comからポート オープン ステータスを取得しました。
写真:
http://img189.imageshack.us/img189/1777/x07w.png
そして、^チェック中、ソケット サーバーの応答は良好でした。これは、サーバー im ホスティングへの接続が確立されたことを意味すると思います。
しかし、クライアントからアクセスすると、「接続できませんでした...」というエラーが表示されます。
クライアントの接続に使用するコードは次のとおりです。
private static void LoopConnect()
{
while (!_client.Connected)
{
try
{
IPAddress ip = IPAddress.Parse("**PUBLIC IP**");
IPEndPoint remoteEP = new IPEndPoint(ip,61911);
_client.Connect(remoteEP);
}
catch (SocketException e) { Console.WriteLine(e.Message); }
}
Console.WriteLine("Connected!");
}
そして、サーバーで受け入れを処理するこのコード:
private static void SetupServer()
{
Console.WriteLine("Setting up Server.. ");
_server.Bind(new IPEndPoint(IPAddress.Any, 61911));
_server.Listen(4);
Console.WriteLine("Server UP!");
_server.BeginAccept(new AsyncCallback(AcceptCallBack), null);
}
private static void AcceptCallBack(IAsyncResult AR)
{
Socket socket = _server.EndAccept(AR);
_clients.Add(socket);
socket.BeginReceive(_buffer, 0, _buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallback), socket);
_server.BeginAccept(new AsyncCallback(AcceptCallBack), null);
}
だから私は私が与えることができる問題に関するすべての情報だと思います..
*マルウェア保護、ファイアウォール、ポート転送に関するすべてが完了しました。*およびポートはで開いていますnetstat -anb
ソリューションを高く評価:)
EDIT : クライアントがリクエストを送信し、サーバーが確認します。しかし、それはクライアントには届かないと思います。そのためには、「内部」からの移植など、ルーターで何か他のことをする必要があります。そんなことがあるものか ???