bind函数
来源:互联网 发布:特效相机软件 编辑:程序博客网 时间:2024/06/07 10:23
bind函数
int bind(
SOCKET s,
const struct sockaddr FAR *name,
int namelen
);
当创建了一个Socket以后,套接字数据结构中有一个默认的IP地址和默认的端口号。一个服务程序必须调用bind函数来给其绑定一个IP地址和一个特定的端口号。客户程序一般不必调用bind函数来为其Socket绑定IP地址和断口号。该函数的第一个参数指定待绑定的Socket描述符;第二个参数指定一个sockaddr结构,该结构是这样定义的:
struct sockaddr {
u_short sa_family;
char sa_data[14];
};
其中sin_family置AF_INET;sin_port指明端口号;sin_addr结构体中只有一个唯一的字段s_addr,表示IP地址,该字段是一个整数,一般用函数inet_addr()把字符串形式的IP地址转换成unsignedlong型的整数值后再置给s_addr。有的服务器是多宿主机,至少有两个网卡,那么运行在这样的服务器上的服务程序在为其Socket绑定IP地址时可以把htonl(INADDR_ANY)置给s_addr,这样做的好处是不论哪个网段上的客户程序都能与该服务程序通信;如果只给运行在多宿主机上的服务程序的Socket绑定一个固定的IP地址,那么就只有与该IP地址处于同一个网段上的客户程序才能与该服务程序通信。我们用0来填充sin_zero数组,目的是让sockaddr_in结构的大小与sockaddr结构的大小一致。下面是一个bind函数调用的例子:
struct sockaddr_in saddr;
saddr.sin_family = AF_INET;
saddr.sin_port = htons(8888);
saddr.sin_addr.s_addr = htonl(INADDR_ANY);
bind(ListenSocket,(struct sockaddr *)&saddr,sizeof(saddr));
- bind函数
- bind函数
- bind()函数
- bind函数
- bind函数
- socket bind函数
- boost::bind入门函数
- 关于bind函数~
- bind()函数
- bind函数用法
- js原生函数bind
- boost::bind 函数绑定
- bind函数详解
- socket中的bind函数
- 标准库bind函数
- bind()函数介绍
- 网络编程-bind函数
- bind()函数 精辟解析
- 过滤器中实用HttpServletResponseWrapper封装
- FLEX与SPRING HIBERNATE 的配置应用
- symbian基本数据类型转化汇集(三)
- (转载)项目管理经验
- 一条人鱼的尸体
- bind函数
- Delphi Tchart 控件使用!(转帖)
- Asp.Net之两个ListBox的列表项选择移动操作
- .net中PE文件的结构
- 一种构造组合方法以及bind的一种用法
- 松耦合和紧耦合:粗粒度与细粒度 - SOA 中的软件组件設計
- C的六种位运算符
- WCF编码规范(一)通用设计指南
- CWnd中PreCreateWindow、PreSubclassWindow、SubclassWindow的区别