Voici mon serveurC# Socket TCP Client refuse connexion
Lorsque vous utilisez plusieurs ports différents outils de vérification sur Internet, je reçois des connexions sur mon serveur, ce qui démontre que mes ports sont ouverts
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();
}
}
Voici mon code client
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);
}
Je reçois ce à chaque fois d'erreur, je l'ai essayé plusieurs différentes tentatives du côté client à l'aide System.Net.Sockets.TcpClient et prises et chaque fois que je reçois une connexion refusée, il semble que ce soit un problème avec mon client, car mon serveur reçoit les connexions des contrôleurs de port
J'ai lu des dizaines d'autres sujets de socket, mais tous les problèmes ont à voir avec le serveur et non le client, je ne sais pas ce qui ne va pas quelqu'un peut-il m'aider?
EDIT: je peux connecter via localhost (127.0.0.1) mais pas de mon IP publique
Il est dit que le serveur refuse activement la connexion. Cela signifie que le PC serveur reçoit la demande de connexion et la rejette avant qu'elle n'atteigne le niveau de l'application. Ça sent comme un problème de pare-feu. Je sais que vous avez dit que vous avez vérifié avec ces applications en ligne, mais je suggère de désactiver complètement tout pare-feu et antivirus que vous avez, puis relancez votre test. Si vous obtenez une connexion, vous savez que ce n'est pas votre code et peut résoudre le problème de configuration. –
@William Morrison mon pare-feu est désactivé et je n'ai pas d'anti-virus – Swololol
Puis peut-être le problème est au niveau du réseau (redirection de port, ou un pare-feu sur un modem/routeur.) Essayez filsharking votre serveur et vérifiez si vous recevez réellement le message TCP SYN s'il vous plait? –