cs_Adict
Messages postés28Date d'inscriptionvendredi 1 janvier 2010StatutMembreDernière intervention10 août 2010
-
4 avril 2010 à 18:42
cs_louis14
Messages postés793Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention10 février 2021
-
6 avril 2010 à 15:15
salut tout le monde
alors j'ai commencé depuis peu à vouloir créer un "chat" simple.
j'utilise donc les sockets qui marchent mais j'ai 2 questions ou plutôt 2 problèmes
1) je n'arrive pas bien à comprendre comment gérer les sockets "send" et "recv"...
Je m'explique. Dans le client je doit taper une phrase et l'envoyer sur le serveur qui lui même renvoi la phrase sur touts les clients qui sont connectés,
mais je ne sais pas comment mettre ça en place
j'avais pensé à : send(s, "%s : %s ", pseudo, chaine, 0); mais ça ne marche pas :(
puis ensuite il faut la commande pour que le serveur reçoive et renvoi cette chaine de caractères.
2) quand je fait se connecter un client au serveur ça marche :) mais discuter tout seul ça ne sera pas drôle :( donc lorsque que je lance 2x le client le premier marche et le serveur dit "l'ip xxxx vient de se connecter" mais pour le 2 ème c'est un écran noir... Car à mon avis le serveur ne reste pas à l'écoute
if (WSAStartup(MAKEWORD(2, 0), &wsaData) != 0)
fprintf(stderr, "La fonction WSAStartup a echoue.\n");
else
{
SOCKET s_server;
s_server = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if (s_server == INVALID_SOCKET)
fprintf(stderr, "La fonction socket a echoue.\n");
else
{
SOCKADDR_IN server;
if (bind(s_server, (SOCKADDR *)&server, sizeof(server)) == SOCKET_ERROR)
fprintf(stderr, "La fonction bind a echoue.\n");
else
{
if (listen(s_server, 0) == SOCKET_ERROR) /* listen : commencer l'ecoute */
fprintf(stderr, "La fonction listen a echoue.\n");
else
{
SOCKET s_client;
SOCKADDR_IN client;
int csize = sizeof(client);
cs_louis14
Messages postés793Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention10 février 20218 6 avril 2010 à 15:15
Bonjour,
je pense qu'il faudrait que tu lances le deuxième cient sur un autre PC. Tu Ouvres 2 fois le même sockets sur la même machine (même Adresse IP et port).