结构是什么;servaddr中的sockaddr_,clientaddr&引用;什么意思?
servaddr、cliaddr中的结构sockaddr\u代码>结构是什么;servaddr中的sockaddr_,clientaddr&引用;什么意思?,c,sockets,C,Sockets,servaddr、cliaddr中的结构sockaddr\u 我是socket编程的新手。 在c语言的socket编程中,这个语句是什么意思? 我们是否在中创建名为sockaddr\u的结构,以及servaddr和cliaddr的成员?为什么没有提到他们的数据类型 在c语言的socket编程中,这个语句是什么意思 它在中声明了两个类型为struct sockaddr\u的未初始化变量 我们是否在中创建名为sockaddr\u的结构 不可以。必须已经定义它来声明变量,否则您的程序格式不正确 ser
我是socket编程的新手。
在c语言的socket编程中,这个语句是什么意思?
我们是否在中创建名为
sockaddr\u的结构,以及servaddr
和cliaddr
的成员?为什么没有提到他们的数据类型
在c语言的socket编程中,这个语句是什么意思
它在
中声明了两个类型为struct sockaddr\u的未初始化变量
我们是否在
中创建名为sockaddr\u的结构
不可以。必须已经定义它来声明变量,否则您的程序格式不正确
servaddr
和cliaddr
是成员吗
没有
为什么没有提到他们的数据类型
是的。查看第一个问题的答案
在c语言的socket编程中,这个语句是什么意思
它在
中声明了两个类型为struct sockaddr\u的未初始化变量
我们是否在
中创建名为sockaddr\u的结构
不可以。必须已经定义它来声明变量,否则您的程序格式不正确
servaddr
和cliaddr
是成员吗
没有
为什么没有提到他们的数据类型
是的。请参阅第一个问题的答案。在Unix套接字中,headernetinet/In.h
在
中定义了一个struct
类型sockaddr\u,如下所示:
struct sockaddr_in {
short sin_family; // e.g. AF_INET, AF_INET6
unsigned short sin_port; // e.g. htons(3490)
struct in_addr sin_addr; // see struct in_addr, below
char sin_zero[8]; // zero this if you want to
};
struct in_addr {
unsigned long s_addr; // load with inet_pton()
};
(参考号:)
您的servaddr
和cliaddr
是sockaddr\u in-type结构的名称。它们都有(在Unix中,至少)四个成员(short sinu family
等)。(其中一个成员是struct
typein_addr
称为sin_addr
,它在几行之后定义为一个成员无符号长s_addr
。结构只有一个成员是有原因的,您也可以在stackoverflow中找到解释。)
如果您想在中使用sockaddr#u,则必须包含或netinet/in.h
的Windows等效项(除非您自己定义了结构)。在Unix套接字中,headernetinet/in.h
在中定义了结构类型sockaddr#u,类似这样:
struct sockaddr_in {
short sin_family; // e.g. AF_INET, AF_INET6
unsigned short sin_port; // e.g. htons(3490)
struct in_addr sin_addr; // see struct in_addr, below
char sin_zero[8]; // zero this if you want to
};
struct in_addr {
unsigned long s_addr; // load with inet_pton()
};
(参考号:)
您的servaddr
和cliaddr
是sockaddr\u in-type结构的名称。它们都有(在Unix中,至少)四个成员(short sinu family
等)。(其中一个成员是struct
typein_addr
称为sin_addr
,它在几行之后定义为一个成员无符号长s_addr
。结构只有一个成员是有原因的,您也可以在stackoverflow中找到解释。)
如果要在中使用sockaddr#u,则必须包含
或netinet/in.h
的Windows等效项(除非您自己定义结构)