编程接口指南

绑定本地名称

创建套接字时不带名称。只有在套接字绑定到地址之后,远程进程才能引用此套接字。用于通信的进程通过地址连接。在 Internet 系列中,连接由本地和远程地址以及本地和远程端口组成。 不能存在重复排序组,如 protocollocal addresslocal portforeign addressforeign port。 在大多数系列中,连接必须唯一。

使用 bind(3SOCKET) 接口,进程可以指定套接字的本地地址。此接口组成 local addresslocal port 组。connect(3SOCKET)accept(3SOCKET) 通过添加地址元组的远程部分来完成套接字的关联。bind(3SOCKET) 调用的用法如下:

bind (s, name, namelen);

套接字句柄为 s。绑定名称是由支持协议解释的字节字符串。Internet 系列名称包含 Internet 地址和端口号。

本示例说明如何绑定 Internet 地址。

#include <sys/types.h>

#include <netinet/in.h>

...

  struct sockaddr_in6 sin6;

...

  s = socket(AF_INET6, SOCK_STREAM, 0);

  bzero (&sin6, sizeof (sin6));

  sin6.sin6_family = AF_INET6;

  sin6.sin6_addr.s6_addr = in6addr_arg;

  sin6.sin6_port = htons(MYPORT);

  bind(s, (struct sockaddr *) &sin6, sizeof sin6);

地址 sin6 的内容在讨论 Internet 地址绑定的地址绑定中介绍。