2010-01-28 4 views
0

J'ai écrit un chat de client UDP, je suis capable de communiquer au serveur si le serveur et le client sont sur la même machine, mais je ne peux pas le faire quand le client est sur une autre machine utilisant l'adresse IP de diff. Y a-t-il un réglage spécial pour y parvenir?UDP chat serveur-client ne peut pas communiquer sur les machines diff

Cordialement, Tara

+0

Pouvez-vous nous dire comment vous utilisez le protocole UDP? Peut-être poster votre extrait de code ici. –

+0

mon mode de fonctionnement est comme serveur va multidiffuser le message entrant à tous les clients connectés. en invoquant le client, je dois passer l'adresse du serveur et le numéro de port du serveur comme argument de la ligne de commande. Vous ne savez pas quel code publier, c'est pourquoi essayer d'expliquer le problème en détail !! –

+0

Peut-être le code spécifique dans le client qui établit la connexion au serveur et le code du serveur où il accepte la connexion? –

Répondre

0

Ping l'autre machine.

Désactiver le logiciel de pare-feu sur l'autre machine?

Assurez-vous que l'autre appareil écoute sur son adresse IP réelle au lieu de localhost.

+0

Lorsque j'appelle le client de ma propre machine, je peux communiquer avec le serveur (qui est également sur ma machine) en utilisant à la fois localhost et l'adresse IP. Mais sur l'autre machine, j'autorise l'accès au pare-feu pour le programme client et utilise l'adresse IP de la machine pour essayer de me connecter au serveur sur ma machine. Le client ne reçoit aucune erreur mais il n'est pas capable de communiquer avec le serveur sur ma machine. –

+0

Avez-vous également vérifié le numéro de port du pare-feu? Habituellement, il a également une permission fine au numéro de port. Vérifiez à nouveau le code de connexion du client, il pourrait avaler l'exception. Il ne peut y avoir aucune erreur, à tout le moins, il aurait donné une exception de temps. –

+0

Oui, DJ a donné une bonne idée, c'est le problème qu'après avoir réglé un port forwarding, j'ai réussi à le faire fonctionner. Je marque la réponse de sylvanaar comme étant acceptée car il s'agit en fait d'un problème de pare-feu et ensuite vous devez définir la redirection de port si elle est derrière un réseau. –