电源设计技术实用资料点击免费获取>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 网络编程之bind函数详解


共1条 1/1 1 跳转至

网络编程之bind函数详解

高工
2017-11-15 16:02:53    评分

前面我们已经说了, 套接字也创建了, “地方”也定义了,下面就需要将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. 建立连接




共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]