码迷,mamicode.com
首页 > 其他好文 > 详细

socket编程bind()函数

时间:2019-07-09 19:35:32      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:struct   class   sock   需要   any   关于   href   发送数据   nbsp   

#include <sys/socket.h>

int bind(int socket, const struct sockaddr *address, socklen_t address_len);

bind()函数功能

将address指向的sockaddr结构体中描述的一些属性(IP地址、端口号、地址簇)与socket套接字绑定,也叫给套接字命名。

调用bind()后,就为socket套接字关联了一个相应的地址与端口号,即发送到地址值该端口的数据可通过socket读取和使用。当然也可通过该socket发送数据到指定目的。

对于Server,bind()是必须要做的事情,服务器启动时需要绑定指定的端口来提供服务(以便于客户向指定的端口发送请求),对于服务器socket绑定地址,一般而言将IP地址赋值为INADDR_ANY(该宏值为0),即无论发送到系统中的哪个IP地址(当服务器有多张网卡时会有多个IP地址)的请求都采用该socket来处理,而无需指定固定IP。

对于Client,一般而言无需主动调用bind(),一切由操作系统来完成。在发送数据前,操作系统会为套接字随机分配一个可用的端口,同时将该套接字和本地地址信息绑定。

关于套接字更详细的使用,可参考:

一个草率的采用UDP协议的CS模型Demo:GitHub传送

 

socket编程bind()函数

标签:struct   class   sock   需要   any   关于   href   发送数据   nbsp   

原文地址:https://www.cnblogs.com/dabai56/p/11159059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!