[英]Sending a structure over socket in c
我正在編寫一個在c中使用套接字編程的程序。
在此程序中,客戶端和服務器將繼續發送和接收數據。
當我使用這種代碼通過套接字發送和接收整數時
//in the program sending data
int data;
len= send(s,(char *)&(data),sizeof(data),0);
//in the program receiving data
int num;
len = recv(s,&num, sizeof(num) , 0);
上面的代碼工作正常,我能夠發送和接收號碼。
在一種情況下,我試圖發送表單的結構
struct sample{
int num;
char chain[10*hops+10];
};
//in the program sending data
struct sample s1;
len= send(s,(char *)&(s1),sizeof(s1),0);
//in the program receiving data
struct sample s2;
len = recv(s,&s2, sizeof(s2) , 0);
在我嘗試發送和接收結構的示例中,它不起作用。 如何成功發送和接收結構?
注意:1)Hops是一個預定義的變量,兩個程序的Hops值相同。 2)不工作,我的意思是:當我收到結構體並在num中打印值時。 它打印的值不相同,但為零!
如果您要發送該結構,則必須使用序列化和反序列化,請閱讀有關內容,可以從以下內容開始:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.