c/c++语言开发共享怀疑在c socket程序中定义结构

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我必须使用struct变量。

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

我的问题是:下面我使用了结构。 这是为以下字段定义struct的方法吗? 声明正确吗? 如果不是,请有人指导我纠正它。

  struct data{ unsigned char buffer[1024]; unsigned long int saddr; // struct sockaddr saddr; int saddr_size; }; 

    我认为这是你的结构。

     struct fields{ unsigned char msg[1024]; // buffer received. char saddr[14]; // network socket address received. int sock_size; // sizeof socket structure. }data; 

    recvfrom调用之后,定义/初始化结构变量(即,复制缓冲区,网络地址,结构字段的大小)。

    现在,将结构数据记录到文件中

     fprintf(logfile,"%s %s %d",data.msg,data.saddr.address,data.saddr_size); 

      以上就是c/c++开发分享怀疑在c socket程序中定义结构相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/523133.html

      (0)
      上一篇 2020年12月11日
      下一篇 2020年12月11日

      精彩推荐