我面临的问题在标题中给出。这就是我所在的地方:
在端口 61911 上启动并运行 Socket 服务器:
_server.Bind(new IPEndPoint(IPAddress.Any, 61911));
并且该端口(61911)已全局打开并将服务器IP地址设置为192.168.1.2(我的PC)
防火墙和防病毒程序处理得很好。
运行Socket 服务器并从YouGetSignal.com获得端口打开状态
图片:
http://img189.imageshack.us/img189/1777/x07w.png
在 ^Checking 时,Socket 服务器反应良好,我认为这意味着与服务器即时托管建立了连接。
但是当通过客户端访问时,我收到指定的错误“无法建立连接......”
这是我在客户端中用于连接的代码:
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
解决方案赞赏:)
编辑:客户端发送请求,然后服务器确认。但我认为这并没有到达客户。为此,我应该在路由器中执行其他操作,例如从“内部”移植。这怎么可能???