结构体也就是一段连续的内存。
但是~
struct AP_INFO {
char action;
char *test;
char *testlist;
};
这样定义的结构是不能直接传输的,因为其中有两个是指针,指向的是结构以外的内存地址,通过socket传输到对方机器后无法解析,搞得不好的话甚至可能造成程序崩溃!
struct AP_INFO {
char action;
char test[100];
char testlist[200];
}
这样的形式,就可以通过socket传输了。
typedef struct mydata
{
char Name[255];
char DesName[255];
int Length;
}Mydata;
发送端和接收端定义相同结构体
接收端:
Mydata mydata;
read(fd, &mydata, sizeof(mydata));
发送端:
Mydata mydata;
write(fd, &mydata,sizeof(mydata));
但是~
struct AP_INFO {
char action;
char *test;
char *testlist;
};
这样定义的结构是不能直接传输的,因为其中有两个是指针,指向的是结构以外的内存地址,通过socket传输到对方机器后无法解析,搞得不好的话甚至可能造成程序崩溃!
struct AP_INFO {
char action;
char test[100];
char testlist[200];
}
这样的形式,就可以通过socket传输了。
typedef struct mydata
{
char Name[255];
char DesName[255];
int Length;
}Mydata;
发送端和接收端定义相同结构体
接收端:
Mydata mydata;
read(fd, &mydata, sizeof(mydata));
发送端:
Mydata mydata;
write(fd, &mydata,sizeof(mydata));