Berkeley Sockets: come posso inviare una stringa?
Inviato: ven 21 ott 2005, 10:30
Codice: Seleziona tutto
//dichiarazione della struct da inviare al server
struct buffer{
int ID;
char nome[20];
};
//lato client
buffer buf;
buf.ID = 12345;
strcpy(buf.nome, "CIAO");
sendto(sd, &buf, sizeof(buf), 0, (const struct sockaddr *)&sad, len);
//lato server
recvfrom(sd, &buf, sizeof(buf), 0, (struct sockaddr *)&cad, (socklen_t*)&fromlen);
*** OUTPUT SERVER ***
ho ricevuto l'ID : 12345
ho ricevuto la stringa : CIAOse invece prova a sostituire il tipo del campo "nome" da char[] a string, e imposto la stringa con questa istruzione (invece di strcpy())
Codice: Seleziona tutto
buf.nome = "CIAO";Codice: Seleziona tutto
ho ricevuto l'ID : 12345
M.ÿÿHßÕÿÿÿÿÿÿÿÿÿü#inga : I..I.y. c.R.g.R.r.I.>B
( 4
À
žd@ðþÿÿoÿÿÿoðÿÿož
Ãd@0€@ ó @°Ç@@
Ö@ð@r@0
@Ë
@°s@pÅ@°
@@
@°Ê°@LŸ
@`Ÿ
Ã
@@ @ `@À
@ Â
Ã
@@Segmentation faultgrazie!