Soyez le premier à donner votre avis sur cette source.
Snippet vu 6 165 fois - Téléchargée 35 fois
//#######################SERVEUR#########################" #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> int main(int argv,char*argc[]) { system("clear"); int sock,nsock, cle = atoi(argc[1]), n; struct sockaddr_in sin; char msg[255], buffer[255]; strcpy(msg, argc[2]); for(n = 0; n < (strlen(msg) + 1); n++) { buffer[n] = msg[n] ^ cle; } sin.sin_family = AF_INET; sin.sin_addr.s_addr = INADDR_ANY; sin.sin_port = htons(atoi(argc[1])); bzero(&(sin.sin_zero),8); sock = socket(AF_INET,SOCK_STREAM,0); printf(" port %s en écoute...\n", argc[1]); bind(sock, (struct sockaddr *)&sin, sizeof(struct sockaddr)); listen(sock,50); while(1) { int sin_size = sizeof(struct sockaddr_in); nsock = accept(sock,(struct sockaddr *)&sin,&sin_size); printf(" connection de %s sur le port %s\n",inet_ntoa(sin.sin_addr),argc[1]); send(nsock,buffer,sizeof(buffer),0); } close(nsock); return 0; } //#######################CLIENT############################## #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> int main(int argv,char*argc[]) { system("clear"); char buffer[255], mot[255]; int sock, cle = atoi(argc[2]), n; struct sockaddr_in sin; sin.sin_family = AF_INET; sin.sin_addr.s_addr = inet_addr(argc[1]); sin.sin_port = htons(atoi(argc[2])); bzero(&(sin.sin_zero),8); sock = socket(AF_INET,SOCK_STREAM,0); printf(" tentative de connection sur %s / %s...\n", argc[1], argc[2]); connect(sock,(struct sockaddr*)&sin,sizeof(struct sockaddr)); printf(" connecté %s / %s\n", argc[1], argc[2]); recv(sock,buffer,sizeof(buffer),0); for(n = 0; n < (strlen(buffer) + 1); n++) { mot[n] = buffer[n] ^ cle; } printf(" buffer: %s\n", mot); close(sock); return 0; }
13 nov. 2003 à 20:02
(désolé, je débute)
=> son programme est écrit en C, qui ne contient pas d'objets, donc pas de méthodes.
struct sockaddr_in sin; => sockaddr_in est une structure, c'est un groupement de variables (comme les Type ... End Type en vb)
sin_port, sin_addr et sin_family sont des variables de ce groupement.
4 nov. 2003 à 22:18
10 juil. 2003 à 19:34
10 juil. 2003 à 18:19
merci
30 juin 2003 à 15:00
(désolé, je débute)
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.