これが私のサーバーです
インターネットで複数の異なるポート チェック ツールを使用すると、サーバーに接続され、ポートが開いていることが示されます
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 とソケットを使用して複数の異なる試行を試みましたが、接続が拒否されるたびに、サーバーがポートチェッカーから接続を受信するため、クライアントに問題があるようです
私は他のソケットのトピックを何十も読みましたが、すべての問題はクライアントではなくサーバーに関係しています。何が問題なのかわかりません。誰か助けてもらえますか?
編集: localhost (127.0.0.1) 経由で接続できますが、パブリック IP からは接続できません