c - 在c套接字程序中定义结构

标签 c sockets

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/

相关文章:

c++ - 并发读写的嵌入式数据库

C - 控制台窗口中的彩色字符 (Linux)

c - MPIR 的浮点类型不准确吗?

mysql - 将时间戳转换为 MYSQL_TIME

java - 客户端向服务器发送消息。但服务器不显示它

javascript - 连接到表单提交 Node js上的套接字

c - 如何强制 scanf 将\n 字符作为输入?

c - 套接字编程 connect() 在我第二次运行循环时失败

linux - 在 Linux 中使用 vmsplice/splice 的零拷贝

java - readShort()期间如果出现超时异常,socket接收到的数据会发生什么情况?