data_size = recvfrom(sock_raw , buffer , 1024, 0 , &saddr ,
(socklen_t*)&saddr_size);
这是一个 recvfrom 函数,我想在其中创建一个结构到 'saddr' 和 'saddr_size',它在 main() 中声明如下
struct sockaddr saddr;
int saddr_size;
saddr_size = sizeof saddr;
我必须使用结构变量而不是下面 write() api 中提到的缓冲区。
int cont= write(logfile,buffer,data_size);
我的问题是:下面我使用了结构。这是为以下字段定义结构的方式吗?是否正确声明?如果不是,请有人指导我更正它。
struct data{
unsigned char buffer[1024];
unsigned long int saddr;
// struct sockaddr saddr;
int saddr_size;
};
最佳答案
struct data {
unsigned char buffer[1024];
struct sockaddr saddr;
socklen_t saddr_size;
};
关于c - 在c套接字程序中定义结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20088565/