当前位置: 首页 > 工具软件 > $.bind > 使用案例 >

bind函数详解

田永春
2023-12-01

      前面我们已经说了, 套接字也创建了, “地方”也定义了,下面就需要将socket放置在这个“地方”(TCP),将他们紧紧地捆绑在一起,用bind函数吧, 我们来看看函数原型:

int PASCAL FAR bind (SOCKET s, const struct sockaddr FAR *addr, int namelen);

     第一个参数当然是待绑定的套接字啦,第二个参数是标识绑定在哪个“地方”, 第三个参数是这个“地方”的占地大小。

     返回值表示绑定操作是否成功,0表示成功, -1表示不成功。函数的返回值千万不要忽视,上次就被人说了。

 

    一般是这么调用的:

     iRet = bind(sockSrv,(SOCKADDR*)&addrSrv, sizeof(SOCKADDR)); // 注意强制转换


     我们来对比一下文件I/O操作和网络I/O操作: 打开一个文件后, 便可以对文件进行读写操作了, 但是, 网络I/O实际上有三个步骤来完成这个功能:

     1. 打开/创建socket

     2. 命名socket, 我们知道, socket名称包含"协议, ip地址,  端口号"这三个要素, 而命名就是通过调用bind函数把socket与这三个要素绑定一起来。

     3. 建立连接


     在后面的博文中, 我们将继续学习bind.

 类似资料: