bind - 将一个名字和一个套接字绑定到一起
SYNOPSIS 概述
#include <sys/types.h>
#include
<sys/socket.h>
int bind(int sockfd, struct sockaddr *my_addr,
socklen_t addrlen);
DESCRIPTION 描述
bind 为套接字 sockfd 指定本地地址 my_addr.
my_addr 的长度为 addrlen (字节).传统的叫法是给一个套接字分配一个名字. 当使用
socket(2), 函数创建一个套接字时,它存在于一个地址空间(地址族), 但还没有给它分配一个名字
一般来说在使用 SOCK_STREAM 套接字建立连接之前总要使用 bind 为其分配一个本地地址.参见
accept(2)).
NOTES 注意
这条规则用于给每个地址族绑定不同的名称.更多细节请参考手册页第7册(man7). 对于 AF_INET 参见
ip(7), 对于 AF_UNIX 参见 unix(7), 对于
AF_APPLETALK 参见 ddp(7), 对于 AF_PACKET 参见
packet(7), 对于r AF_X25 参见 x25(7) 对于
AF_NETLINK 参见 netlink(7).
RETURN VALUE 返回值
函数执行成功返回0,否则返回-1, 并设置错误代码.
ERRORS 错误
- EBADF
- sockfd 不是一个合法套接字描述符.
- EINVAL
- 套接字已经绑定到一个地址.这一条在以后会有所改变: 具体参见 linux/unix/sock.c
- EACCES
- 地址受保护,用户不是系统管理员.
- ENOTSOCK
- 参数是文件描述符,不是一个套接字.
下列错误适用于UNIX域 (AF_UNIX) 套接字.
- EINVAL
- 地址长度 addrlen 错误,或者套接字不在 AF_UNIX 族.
- EROFS
- 套接字节点位于只读文件系统.
- EFAULT
- my_addr 指向用户无权访问的地址空间.
- ENAMETOOLONG
- my_addr 长度超范围.
- ENOENT
- 文件不存在.
- ENOMEM
- 内核存储空间不足.
- ENOTDIR
- 指定路径不是一个目录.
- EACCES
- 指定路径拒绝访问.
- ELOOP
- 在解析 my_addr 时发现过多符号连接.
bind - 将一个名字和一个套接字绑定到一起的更多相关文章
- 为什么accpet会重新返回一个套接字
在服务器端,socket()返回的套接字用于监听(listen)和接受(accept)客户端的连接请求.这个套接字不能用于与客户端之间发送和接收数据. accept()接受一个客户端的连接请求,并返回 ...
- UNIX网络编程——原始套接字的魔力【续】
如何从链路层直接发送数据帧 上一篇里面提到的是从链路层"收发"数据,该篇是从链路层发送数据帧. 上一节我们主要研究了如何从链路层直接接收数据帧,可以通过bind函数来将原始套接字绑 ...
- 套接字编程相关函数(2:TCP套接字编程相关函数)
本文摘录自<UNIX网络编程 卷1>. 基本套接字函数 socket函数 为了执行网络I/O,一个进程必须做的第一件事就是调用socket函数,指定期望的通信协议类型.其定义如下: #in ...
- 套接字选项 之 SO_REUSEADDR && SO_REUSEPORT
说明 本文下面内容基本上是截取自stackoverflow,针对这两个选项,在另外一篇文章中做了总结,请移步<Linux TCP套接字选项 之 SO_REUSEADDR && S ...
- Linux进程间通信(八):流套接字 socket()、bind()、listen()、accept()、connect()、read()、write()、close()
前面说到的进程间的通信,所通信的进程都是在同一台计算机上的,而使用socket进行通信的进程可以是同一台计算机的进程,也是可以是通过网络连接起来的不同计算机上的进程.通常我们使用socket进行网络编 ...
- Linux进程间通信(九):数据报套接字 socket()、bind()、sendto()、recvfrom()、close()
前一篇文章,Linux进程间通信——使用流套接字介绍了一些有关socket(套接字)的一些基本内容,并讲解了流套接字的使用,这篇文章将会给大家讲讲,数据报套接字的使用. 一.简单回顾——什么是数据报套 ...
- fsockopen — 打开一个网络连接或者一个Unix套接字连接
fsockopen (PHP 4, PHP 5, PHP 7) 说明 resource fsockopen ( string $hostname [, int $port = -1 [, int &a ...
- liunx 套接字编程(Linux_C++)
网络中的进程是如何通信的? 在网络中进程之间进行通信的时候,那么每个通信的进程必须知道它要和哪个计算机上的哪个进程通信.否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行 ...
- Linux套接字编程
网络中的进程是如何通信的? 在网络中进程之间进行通信的时候,那么每个通信的进程必须知道它要和哪个计算机上的哪个进程通信.否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行 ...
随机推荐
- AutoIT: ControlSetText
1. ControlSetText :可以摆脱Send的限制,在适当的文本框位置输入用户想要输入的信息.2. ControlGetText可以获取文本 Run("notepad.exe&qu ...
- [Django基础] django解决静态文件依赖问题以及前端引入方式
一.静态文件依赖 学习django的时候发现静态文件(css,js等)不能只在html中引入,还要在项目的settings中设置,否则会报以下错误 [11/Sep/2018 03:18:15] &qu ...
- gdb core调试
原文链接 http://blog.163.com/lanka83/blog/static/32637615200801793020182/http://blog.csdn.net/taina2008/ ...
- sum=1+2+3+…+100
sum = 1 for i in range(0,101): # sum = sum + i sum += i print(sum) sum +=i 等于 sum = sum + i
- STM32F4 DMA2D_R2M
图像处理的专门DMA 看一段示例代码 /** * @brief Displays a line. * @param Xpos: specifies the X position. * @param Y ...
- COLORREF
COLORREF含义及在VC++中的使用 转载 原创 2016年03月11日 23:40:19 4019 所谓真彩色是指显示出来的图像的颜色与真实世界中的颜色非常自然逼真,使得人眼难以区分它们之间的差 ...
- Gym 100531J Joy of Flight (几何)
题意:你从开始坐标到末尾坐标,要经过 k 秒,然后给你每秒的风向,和飞机的最大速度,问能不能从开始到末尾. 析:首先这个风向是不确定的,所以我们先排除风向的影响,然后算出,静风是的最小速度,如果这都大 ...
- 【原创】《从0开始学RocketMQ》—集群搭建
用两台服务器,搭建出一个双master双slave.无单点故障的高可用 RocketMQ 集群.此处假设两台服务器的物理 IP 分别为:192.168.50.1.192.168.50.2. 内容目录 ...
- 数论+DP HDOJ 4345 Permutation
题目传送门 题意:一个置换群,经过最少k次置换后还原.问给一个N个元素,在所有的置换群里,有多少个不同的k. 分析:这道题可以转化成:N = Σ ai ,求LCM ( ai )有多少个不同的值.比如N ...
- 题解报告:poj 3320 Jessica's Reading Problem(尺取法)
Description Jessica's a very lovely girl wooed by lots of boys. Recently she has a problem. The fina ...