sockaddr in(sockaddr)
发布日期:2023-11-18 11:47:04
导读 大家好,我是小科,我来为大家解答以上问题。sockaddr in,sockaddr很多人还不知道,现在让我们一起来看看吧!1、因为sendto的参数要的就...
大家好,我是小科,我来为大家解答以上问题。sockaddr in,sockaddr很多人还不知道,现在让我们一起来看看吧!
1、因为sendto的参数要的就是
2、(struct sockaddr *)
3、类型的参数,这个结构可以支持多种地址类型,典型的例子就是ipv4和ipv6。
4、但是通常你的接受端的地址是通过地址解析得到的,sockaddr_in(对应ipv4)或者是sockaddr_in6(对应Ipv6),而不是struct sockaddr,所以需要类型转换。
5、至于如何区分指向的到底是什么类型的地址,主要依靠第一个字段ushort sa_family;来区分。
6、MSDN里面的描述是:
7、Winsock functions using sockaddr are not strictly interpreted to be pointers
8、to a sockaddr structure. The structure is interpreted differently in the context
9、of different address families. The only requirements are that the first
10、u_short is the address family and the total size of the memory buffer in
11、bytes is namelen.
本文到此讲解完毕了,希望对大家有帮助。
标签: