![](/img/trans.png)
[英]No connection could be made because the target machine actively refused (c# socket program)
[英]No connection could be made because the target machine actively refused it - Socket Program
我在标题中遇到的问题。 我在这里:
安装了套接字服务器并在端口61911上运行:
_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时,套接字服务器响应良好,我认为这意味着已建立与服务器托管的连接。
但是当通过客户端访问时,出现错误“无法建立连接...”
这是我用于客户端连接的代码:
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
打开
解决方案表示赞赏:)
编辑:客户端发送请求,然后服务器确认。 但我认为这没有达到客户。 为此,我应该在路由器中执行其他操作,例如从“内部”移植。 那怎么可能???
这是怎么回事:
要测试您的应用程序,只需使用本地IP(192.168.1.2)。 部署后,您可以使用外部地址。 您也可以从路由器内部打开端口转发,但这不在此答案的范围内。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.