MemoryGarden's Blog

努力 -----------大能猫

C++博客 首页 新随笔 联系 聚合 管理
  118 Posts :: 11 Stories :: 20 Comments :: 0 Trackbacks
bind 函数可以帮助你指定一个套接字使用的端口
当你使用socket 函数获得一个套接字描述符后,你也许需要将socket绑定上一个你的机器的端口
   当你需要进行端口listen操作,等待接收一个连入请求的时候,一般需要这一步。
   与客户端的套接字关联的地址没有太大意义,当你只是想连接一台服务器,也就是进行connect操作的时候,这一步并不是必须的。

int bind(int sockfd, struct sockaddr* my_addr, int addrlen);
   sockfd:由socket函数返回的套接字描述符
   my_addr : 是一个指向 sockaddr 的一个指针,包含你的地址信息,名称,端口和ip地址。
   addrlen : sizeof(my_addr)

限制:
   在进程所运行的机器上,指定的地址必须有效,不能指定一个其他机器的地址
   地址必须和创建套接字时的地址族所支持的格式匹配
   端口号不能小于1024,除非改进程具有相应的特权

如果ip指定为 INADDR_ANY,套接字端点可以被绑定到所有的系统网络端口。如果调用connect 或者 listen 但是没有绑定一个套接字,系统会选择一个地址,并将其绑定到套接字。

返回值:
   出错的时候返回-1





posted on 2011-06-17 01:40 memorygarden 阅读(336) 评论(0)  编辑 收藏 引用 所属分类: 网络编程

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理