2010-12-03 45 views
0

J'essaie de développer, vous l'avez deviné, le réseautage multijoueur. La première étape consiste à déterminer si je peux obtenir une connexion à mon serveur. Whooptydoo, pot 80 fonctionne! : DC# System.Net.Sockets.Socket.Connect() aide

Toutefois, les ports 81, 90, 2700, 8092 et tous les autres ports que j'essaie ne fonctionnent pas. Maintenant, j'ai le sentiment que c'est peut-être parce qu'il n'y a rien à l'autre extrémité pour accepter ma connexion. Parce que c'est la deuxième étape pour déterminer le réseautage (pour moi, de toute façon), j'hésite à y aller.

J'ai débloqué le port auquel je veux me connecter. (J'ai autorisé les connexions TCP entrantes et sortantes).

C'est ce que j'utilise pour commencer la prise:

s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 

Pour vous connecter:

s.Connect(hostEndPoint); 

Pour créer hostEnpoint:

hostEndPoint = new IPEndPoint(hostAddress, conPort); 

Je reçois pas d'exception d'erreur, ou quelque chose comme ça. Le code semble simplement geler quand il arrive à connecter().

J'ai essayé de bloquer le port 80, puis d'exécuter le code pour me connecter à 80, et la même chose se produit.

Alors, je suis un peu proche de ce qui ne va pas? Serait-ce autre chose? Dois-je créer un programme pour ACCEPTER les connexions sur ce port, puis l'exécuter sur le serveur?

Merci beaucoup les gars. :)

Répondre

1

Dans ce cas, vous pouvez utiliser l'ancienne fenêtre Dos (cmd.exe) et utiliser le

port hôte telnet

commande

et vérifier le résultat d'erreur. Le refus de connexion indique qu'il n'y a pas d'écouteur. Le délai de connexion indique un pare-feu. Vérifiez également votre pare-feu Windows individuel pour tout blocage.

+0

Je suis un mac, donc ce n'est malheureusement pas une option pour moi. ;) Existe-t-il un type d'équivalent mac terminal? –

+0

Sur Mac, il est appelé terminal. La même commande avec la même syntaxe y est également disponible. – weismat

+0

Génial! Je vérifierai. :) –