Вот мой сервер
При использовании нескольких различных инструментов проверки портов в Интернете я получаю соединения на своем сервере, демонстрируя, что мои порты открыты.
http://www.infobyip.com/tcpportchecker.php
http://www.yougetsignal.com/tools/open-ports/
static void Main(string[] args)
{
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, 10897);
Console.WriteLine("Server Start");
Socket listener = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
listener.Bind(localEndPoint);
listener.Listen(10);
while (true)
{
Console.WriteLine("Waiting for a connection...");
Socket handler = listener.Accept();
Console.WriteLine(handler.RemoteEndPoint);
handler.Shutdown(SocketShutdown.Both);
handler.Close();
}
}
Вот мой клиентский код
static void Main(string[] args)
{
IPEndPoint ip = new IPEndPoint(IPAddress.Parse("MY IP HERE"), 10897);
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
server.Connect(ip);
}
Я получаю эту ошибку каждый раз, я пробовал несколько разных попыток со стороны клиента, используя System.Net.Sockets.TcpClient и сокеты, и каждый раз, когда я получаю отказ в соединении, поэтому, похоже, это какая-то проблема с моим клиентом, поскольку мой сервер получает соединения от средств проверки портов. а>
Я прочитал десятки других тем о сокетах, но все проблемы связаны с сервером, а не с клиентом, я понятия не имею, что не так, может кто-нибудь мне помочь?
РЕДАКТИРОВАТЬ: я могу подключиться через локальный хост (127.0.0.1), но не с моего общедоступного IP-адреса.