Soyez le premier à donner votre avis sur cette source.
Snippet vu 9 475 fois - Téléchargée 36 fois
//------------------------------partie serveur #include <stdio.h> #include <winsock2.h> #pragma comment(lib, "ws2_32.lib") #include <string.h> int main() { char buffer[255]; WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WSAData); SOCKET sock; SOCKET csock; SOCKADDR_IN sin; SOCKADDR_IN csin; sock = socket(AF_INET, SOCK_STREAM, 0); sin.sin_addr.s_addr = INADDR_ANY; sin.sin_family = AF_INET; sin.sin_port = htons(4444); bind(sock, (SOCKADDR *)&sin, sizeof(sin)); listen(sock, 0); int sinsize = sizeof(csin); if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET) { memset(buffer,0,255); wsprintf(buffer,"Serveur connecte :-) tu peux parler\n"); send(csock,buffer,255,0); } while(1) { { memset(buffer, '\0', sizeof(buffer)); recv(csock, buffer, sizeof(buffer), 0); Beep(400,150); printf("%s\n",buffer); } { char chaine[1000]; fflush(stdout); printf("shown dit :"); if (read(0, chaine, 1000)) { sprintf (buffer, "shown dit :%s\n", chaine); send (csock, buffer, strlen (buffer), 0);} } } } //------------------------------partie client #include <stdio.h> // printf #include <conio.h> // getch() #include <winsock2.h> #pragma comment(lib, "ws2_32.lib") #include <string.h> int main() { WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WSAData); SOCKET sock; SOCKADDR_IN sin; char buffer[255]; char *ptr; char msg[256]; sock = socket(AF_INET, SOCK_STREAM, 0); /*remplacer l'ip par celle de la machine possédant le serveur*/ sin.sin_addr.s_addr = inet_addr("127.0.0.1"); /*--------------------------------------------------------------------------*/ sin.sin_family = AF_INET; sin.sin_port = htons(4444); connect(sock, (SOCKADDR *)&sin, sizeof(sin)); while(1) { { memset(buffer, '\0', sizeof(buffer)); recv(sock, buffer, sizeof(buffer), 0); Beep(400,150); printf("%s\n",buffer); } { char chaine[1000]; fflush(stdout); printf("Odji dit :"); if (read(0, chaine, 1000)) { sprintf (buffer, "Odji dit :%s\n", chaine); send (sock, buffer, strlen (buffer), 0);} } } }
31 mars 2006 à 17:27
Bha tu compiles et c'est tout ça te donne 2 .exe et y'a plus besoin de compilateur O_O
Binouche>Tu utilises Devcpp ?
Tu dois ajouter la lib de devcpp pour les socket dans les options du projet
17 janv. 2005 à 23:07
13 janv. 2005 à 20:37
undefined reference to `WSAStartup@8'
undefined reference to `socket@12'
undefined reference to `inet_addr@4'
undefined reference to `htons@4'
undefined reference to `connect@12'
undefined reference to `recv@16'
undefined reference to `send@16'
12 sept. 2004 à 10:10
Bon, moi je vennait ici pour apprendre comment utiliser select, je passe mon chemin...
8 sept. 2004 à 19:46
Il y a plusieures methodes pour le faire, tu devrais essayer de voir ca (les threads par ex puisque tu es sous windows, ou select())...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.