Bonjour,
Pourriez vous m'aider s'il vous plait? Je suis en L2 Informatique et on a un projet noté à faire qui est la creation d'un client et d'un serveur pouvant communiquer entre eux et permettant ainsi de créer une sorte de "Instant messenger" genre msn. le client fonctionne bien le serveur fonctionnait bien jusqu'a ce que je lui ajoute la partie importante du projet: le fait de pouvoir accepter plusieurs clients en meme temps qui pourront communiquer entre eux
voici les erreurs que j'obtiens:
Threadserver-tp.c: In function ‘main’:
Threadserver-tp.c:85:21: error: incompatible types when assigning to type ‘char[256]’ from type ‘char *’
Threadserver-tp.c: In function ‘readmessage’:
Threadserver-tp.c:103:19: warning: initialization makes integer from pointer without a cast
Threadserver-tp.c:107:4: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’
et voila mon code (J'ai du modifier le nom des variable du vrai code car mes enseignants ont la gachette facile en ce qui concerne google et je ne veux qu'ils pensent que je l'ai pompé quelque part. par conséquent il risque d'y avoir certaine erreur de modif de nom de variable, du genre une variable qui vient de nulle part; mais le risque est faible)
merci d'avance à tous amis developpeurs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
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 void *readmessage(void *data); struct client_connect{ int maPetiteSocket; int monPetitMessage; char monPetitBuffer[256]; }; int main(int argc, char **argv){ pthread_t threads; int maSocketChouchou=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); char *port=argv[1]; int valeurDeRetour=0; char buffer[256]=""; struct sockaddr_in addr_serv; int message = 0; . . . . . struct client_connect client; client.maPetiteSocket=socketFille; client.monPetitMessage=message; client.monPetitBuffer=buffer; //ici est la ligne 85 . . . . . } void *readmessage(void *data){ struct client_connect *args = data; int newSocket=args->maPetiteSocket; int newMssge=args->monPetitMessage; char newBuffer=args->monPetitBuffer; // voici la ligne 103 while (1){ newMssge= read(newSocket, newBuffer sizeof(newBuffer)); if ( newMssge > 0) { printf("%s", newBuffer); // et enfin la ligne 107 write(newSocket, newBuffer, sizeof(newBuffer)); } } close(newSockett); }
Partager