c c 通過socket傳送結構體

2021-05-22 00:49:08 字數 800 閱讀 2172

c/c++通過socket傳送結構可以直接先將結構轉化到記憶體中,再通過send直接傳送。

首先,我們建立乙個結構體。

struct usrdata

write(cfg_fd, para, sizeof(hd4100_rec_t));  //hd4100_rec_t是自定義的結構

close(cfg_fd); 

printf("the para which is written to the config file:/n");

read(cfg_fd, &hd4100_config, sizeof(hd4100_rec_t)); //從檔案讀內容到記憶體中

close(cfg_fd);

包含引用型別或值型別的結構或物件無法通過以上方法直接傳送,而必須通過序列化的方式轉化為二進位製流傳送和接收。如c# socket傳送序列化struct示例:

傳資料,下面給乙個傳送struct的例子.

首先:把struct寫到乙個單獨的類中.編譯成dll

using system;

[serializable]

public struct user_inf

然後在你的伺服器端和客戶端都新增這個dll.

下面是伺服器端傳送這個序列化的struct

while(true)

一下是client端接收到資料後反序列化

binaryformatter bf;

bf = new binaryformatter();

user_inf user=(user_inf)bf.deserialize(s);

c c 通過socket傳送結構體

c c 通過socket傳送結構體 少游冰雪世界 c c 通過socket傳送結構可以直接先將結構轉化到記憶體中,再通過send直接傳送。首先,我們建立乙個結構體。struct usrdata write cfg fd,para,sizeof hd4100 rec t hd4100 rec t是自定...

socket傳送結構體

客套話不說了 socket中的send函式可以傳送字串,不能直接傳送結構體,自己理解 結構體即記憶體中一段連續的記憶體,這樣send中可以傳送結構體指標 上 功能 客戶端傳送給服務端乙個結構體,服務端返回客戶端一字串 客戶端 client.c include include include incl...

socket通訊傳送結構體

socket通訊可以直接傳送結構體!示例 傳送端 c sharp view plain copy struct student struct student student1 接受端 c sharp view plain copy struct student struct student stud...