bind函数

作用:bind函数用于将套接字与指定端口相连

头文件:和

函数形式:int bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen);

返回值:成功返回0,失败返回-1

说明:

当调用socket函数创建套接字后,该套接字并没有与本机地址和端口等信息相连,bind函数将完成这些工作。bind函数中的sockfd参数为调用socket函数后返回的文件描述符。my_addr参数为指向sockaddr结构体的指针(该结构体中保存有端口和IP地址信息)。addlen参数为结构体sockaddr的长度。

错误信息:

EACCES:地址受到保护,用户非超级用户。

EADDRINUSE:指定的地址已经在使用。

EBADF:sockfd参数为非法的文件描述符。

EINVAL:socket已经和地址绑定。

ENOTSOCK:参数sockfd为文件描述符。

实例演练:

注意创建套接字和使用bind函数实现socket的文件描述符与地址信息绑定的过程。

[cpp]

#include

#include

#include

#include

#define MY_SOCK_PATH "/somepath"

int main(int argc, char *argv[])

{

int sfd;

struct sockaddr_un addr;

//创建通信的套接字

sfd = socket(AF_UNIX, SOCK_STREAM, 0);

if (sfd == -1) {

perror("socket");

exit(EXIT_FAILURE);

}

//初始化addr变量

memset(&addr, 0, sizeof(struct sockaddr_un));

addr.sun_family = AF_UNIX;

strncpy(addr.sun_path, MY_SOCK_PATH,

sizeof(addr.sun_path) - 1);

//将端口信息与套接字绑定

if (bind(sfd, (struct sockaddr *) &addr, sizeof

(struct sockaddr_un)) == -1) {

perror("bind");

exit(EXIT_FAILURE);

}

}

[/cpp]

c语言中bind函数,bind函数 | C/C++程序员之家相关推荐

  1. C 语言中 char[] 的操作函数

    C语言中char[]的操作函数 1.赋值操作 在C语言中,char型数组是不可以直接赋值的.例如在如下的代码中,会得到错误: char c1[20] = "women"; char ...

  2. c语言printf函数的作用,c语言中printf用法及其函数定义

    c语言中printf用法及其函数定义 发布时间:2020-04-09 10:51:14 来源:亿速云 阅读:354 作者:小新 今天小编给大家分享的是c语言中printf用法及其函数定义,很多人都不太 ...

  3. 构造函数为什么不能是虚函数 ( 转载自C/C++程序员之家)

    从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的.问题出来了,如果构造函数是虚的,就需要通过 vtable来调用, ...

  4. C语言基础入门48篇_20_函数入门:为什么使用函数?(函数使得程序模块化 使用函数封装细节,使得程序员只要面向函数的接口编程(参数与返回值),而不用关心函数内部细节)

    菜鸟和高手都会基本,那菜鸟为什么是菜鸟,高手为什么是高手呢?很大的区别在于,高手写的程序[结构性]更好,更容易维护.而函数就是C语言结构化的一种手段. 函数可以将大的计算任务划分为多个较小的任务(解耦 ...

  5. c语言中val是什么函数,val(val是什么意思)

    有这么一个C语言程序 : int i; long val; for(i=0;i 在C语言中Val是一个将由数字符号(包括正负号.小数点)组成的字符型数据转换成相应的数值型数据的函数,语法格式是Val( ...

  6. c语言中fmod()函数和log10()函数用法

    C语言中fmod函数的功能是x/y的求余运算,适用于double ,float,long double,如果y=0的话,那么返回 值得一提的是%,'%'同样是取余,但是% 适用于整数取余,%是整数的取 ...

  7. c语言getchar函数的作用,c语言中getchar的用法函数用法

    当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止.下面小编就跟你们详细介绍下c语言中getchar的用法,希望对你们有用. c语言中getchar ...

  8. c语言中srand的作用,C语言中srand(), rand(), time()函数  转载

    srand函数 srand函数是随机数发生器的初始化函数. 原型:void srand(unsigned seed); 用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子,后面的r ...

  9. C语言中fputc和fgetc函数用法

    C语言中文件的读写函数之 fputc.fgetc 首先,我们要知道fputs和fgetc这两个函数是包含在标准库函数中的函数,换句话说,就是封装在标准函数中的两个函数.其中这两个函数都是每次只能输入或 ...

  10. c语言中mul是什么函数,mul函数的具体用法

    匿名用户 1级 2010-12-26 回答 PHP基础 Author:陈庆平 (Andych) E-mail:ahut9923@126.com 一.PHP入门 二.PHP变量 1.php变量的命名 变 ...

最新文章

  1. Visual C++ 2011-8-15
  2. 研究人工智能最应该注意的问题
  3. Replication的犄角旮旯(五)--关于复制identity列
  4. Gradle 配置spring boot启动
  5. 土人系列AS入门教程--实战篇
  6. J storm战队成员_DOTA2J.Storm战队介绍-DOTA2ESL孟买站预选赛J.Storm战队介绍_牛游戏网攻略...
  7. oracle dbf文件设置,oracle移动数据dbf文件
  8. 最小生成树——普里姆算法和克鲁斯卡尔算法
  9. 《LoadRunner 没有告诉你的》之四——理解性能
  10. 深入浅出GAMP算法(下):MMSE估计和AWGN场景
  11. 十二时辰及经络走向图
  12. sr650安装linux网卡驱动,SR650安装Windows2016添加RAID卡驱动
  13. 【Word】插入公式显示灰色,失效解决
  14. 懂生意的产品经理,才能做好商业化
  15. vue.js毕业设计,基于vue.js前后端分离电影院售票小程序系统设计与实现
  16. PDA只需扫描条码能够完成库存盘点
  17. 计算机组装考核记录表,计算机组装与维护考核方案(必修).doc
  18. MiniGUI——第一个程序helloworld
  19. Coggle专访系统之神与我同在:我的竞赛学习路线
  20. Android仿学习强国填空题考试界面

热门文章

  1. 向量化执行引擎框架 Gluten 宣布正式开源,并亮相 Spark 技术峰会
  2. 业务系统中的Word文档如何转成pdf
  3. VUE 引入第三方js包 及调用
  4. MFC 对话框之UpdateData
  5. 数字转为拼音的读法 8010 ba qian ling yi shi
  6. display android,iDisplay官网下载
  7. 测试工程师面试题大全
  8. 【总线】SPI 通信协议
  9. 不得了了!Python 又爆出重大 Bug~
  10. Springboot 访问HTML和JSP