相关疑难解决方法(0)

sockaddr_in未声明的标识符

我正在关注beej的网络指南,它一直很好,因为我对一切都很了解,他解释得很好.然而,当我想测试他向我展示的一些很酷的东西时,它将无法正常工作!:(

我不确定sockaddr_in到底在哪里宣布,但也许有人会这样帮助我!

这是我到目前为止(测试将字符串形式的ip转换为ip到4字节的积分,反之亦然):

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>

int main(void)
{
  sockaddr_in sin;

  inet_pton(AF_INET, "192.168.2.1", &sin.in_addr);
  char ip[INET_ADDRSTRLEN];
  inet_ntop(AF_INET, &sin.in_addr, ip, INET_ADDRSTRLEN);
  printf("%s\n", ip);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

对我来说,如果这对我来说真是愚蠢的话,我完全无能为力,对不起!

编辑:我正在使用名为Mint的Linux Debian发行版,如果它有帮助的话?

c sockets

13
推荐指数
2
解决办法
5万
查看次数

从sys/socket.h了解msghdr结构

我试图了解sys/socket.h lib msghdr结构的以下成员.

  • struct iovec *msg_iov scatter/gather array
  • void *msg_control ancillary data, see below

它在下面说明:

辅助数据由一系列对组成,每个对由cmsghdr结构和数据数组组成.数据数组包含辅助数据消息,cmsghdr结构包含允许应用程序正确解析数据的描述性信息.


我假设msghdr结构,包含协议头信息?如果是这样的话...... *msg_iov是请求/响应中参数的输入/输出"向量"吗?并*msg_control包含响应消息?

c sockets linux network-programming

6
推荐指数
1
解决办法
8466
查看次数

标签 统计

c ×2

sockets ×2

linux ×1

network-programming ×1