简体   繁体   English

在c socket程序中定义结构

[英]Defining structure in c socket program

data_size = recvfrom(sock_raw , buffer , 1024, 0 , &saddr ,
                                           (socklen_t*)&saddr_size);

here is a recvfrom function, where i want to create a struct to 'saddr' and 'saddr_size' which is declared in the main() as follows 这是一个recvfrom函数,我想创建一个'saddr'和'saddr_size'的结构,它在main()中声明如下

struct sockaddr saddr;
int saddr_size;
saddr_size = sizeof saddr;

and instead of buffer mentioned in the below write() api i have to use the struct variable. 而不是下面提到的缓冲区write()api我必须使用struct变量。

int cont= write(logfile,buffer,data_size);

My question is: Below i have used structure.Is this the way to define struct for the following fields? 我的问题是:下面我使用了结构。这是为以下字段定义结构的方法吗? Is it declared correctly? 声明正确吗? if not please somebody guide me to correct it. 如果不是,请有人指导我纠正它。

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;
};

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM