| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 
 |  
 
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
 
#define PORT 5555 // the port client will be connecting to 
 
#define MAXDATASIZE 100 // max number of bytes we can get at once 
 
#define IP_ADDR "127.0.0.1"
 
/*
LE clien 
*/
 
int main(int argc, char *argv[])
{
	int sockfd, numbytes,i,j;
	int nbs=0;
	char buf[MAXDATASIZE];
	char *ServerAdr[4];//tableau de 4 adresse
	for(i=0;i<4;i++)ServerAdr[i]="vide";//initialisation
	char cp[255];
	char *ligne,*Pligne;
	struct sockaddr_in sock_server; //structure qui va contenir les information sur le serveur
	int s;
 
	while(gets(ligne)){
		//la ligne entré par l'utilisateur
 
		if(!strcmp(ligne,"exit"))exit(0);
 
		strcpy(cp,ligne);
		Pligne=strtok(ligne," ");
		if(!strcmp(Pligne,"CONNECT")){//la cas d'une connection
			Pligne=strtok(NULL," ");//on pointe sur l'adresse ip à stocker
			//stockage de l'adresse du serveur
			for(j=0;j<4;j++) printf("cette adresse AVANT: %s\n",ServerAdr[j]);
			for(i=nbs;i<4;i++){
			//on parcoure le tableau des serveurs jusqu'à ce qu'on trouve une place libre
					printf("valeur pour i = %d: %s\n",i,ServerAdr[i]);
				if(!strcmp(ServerAdr[i],"vide")){
					//ServerAdr[i]=Pligne;
					ServerAdr[i]=(char *)malloc(sizeof(*Pligne));
					strcpy(ServerAdr[i],Pligne);
					printf("Cette adresse vient d'etre ajouté:%s dans l'indice %d \n",ServerAdr[i],i);
 
					nbs++;
					break;
				}
 
			}
 
 
		}
 
		//else{//le cas d'un envoie de message
 
			for(j=0;j<4;j++){
 
				printf("cette adresse APRES: %s\n",ServerAdr[j]);
 
// 				if(strcmp(ServerAdr[j],"vide")){
// 				printf("Ce message: %s pour ",cp);
// 				printf("cette adresse: %s\n",ServerAdr[j]);
// 				}
			}
 
		//ligne=NULL;
		//}
	}	
	return 0;
} | 
Partager