sockaddr in

商业作者 / 姓名 / 2025-11-18 03:54
"
网上有关“sockaddr in”话题很是火热,小编也是针对sockaddr in寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面

网上有关“sockaddr in”话题很是火热,小编也是针对sockaddr in寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

bind前需要调用WSAStartup的,然后创建socket套接字的。。

代码如下修改:

WSADATA wsaData;

SOCKET listentsocket;

UINT duan_kou=3333;

WSAStartup(0x202,&wsaData);

把ben_ji.sin_port=htonl(INADDR_ANY);改成ben_ji.sin_port=htons(duan_kou);

listentsocket = socket(AF_INET,SOCK_STREAM,0);

最后再绑定

bind(listentsocket,(struct sockaddr_in *)ben_ji,sizeof(ben_ji))

struct sockaddr_in是已经声明了的结构名,这里当作类型名来使用,如基础类型名int,double等等,addr被声明为struct sockaddr_in类型的变量,就像int a;中的a一样。

函数inet_addr的作用其实就是把"127.0.0.1"这样的字符串ip地址转换成0x0100007F这样的32位整数。

sin_addr其实是个4字节联合体,S_addr是它的int模式。

inet_ntoa接受的类型就是in_addr所以就直接传sin_addr了

---

另外楼上说的s和in其实分别代表socket和internet...

应该是Internet的意思吧,msdn对SOCKADDR_IN的解释是这样说的:

In the Internet address family, this structure is used by Windows Sockets to

specify a local or remote endpoint address to which to connect a socket. This is

the form of the sockaddr structure specific

to the Internet address family and can be cast to sockaddr.

关于“sockaddr in”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

分享到
声明:本文为用户投稿或编译自英文资料,不代表本站观点和立场,转载时请务必注明文章作者和来源,不尊重原创的行为将受到本站的追责;转载稿件或作者投稿可能会经编辑修改或者补充,有异议可投诉至本站。

热文导读