您的位置:首页 > 理论基础 > 计算机网络

VxWorks网络系统(3) – bind分配网络地址给指定的套接字函数/listen允许连接套接字函数

2007-09-26 13:56 344 查看
VxWorks网络系统(3) – bind分配网络地址给指定的套接字函数/listen允许连接套接字函数

// Fill in the address descriptor
struct sockaddr_in addr; // 服务器的地址
bzero((char*)&addr, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(Port); // 默认端口
addr.sin_addr.s_addr = inet_addr(IpAddress);

// Bind the socket to the address
bind(m_socket, (struct sockaddr*)&addr, sizeof(addr));

// Listen for a client to connect (max n simultaneously)
listen(m_socket, n);

在使用TCP协议时,一般服务端任务先使用socket调用得到一个描述符,然后使用bind调用将一个名字与socket描述符连接起来,对于Internet域就是将Internet地址绑定到socket.
之后,服务端使用listen调用指出最大的被拒绝连接次数。然后就可以使用accept调用等待客户端发起连接。
bind函数用于给套接字分配名字。该函数分配一个网络地址(也称为“名字”)给指定的套接字,以便其他处理可以连接它或给它发送数据。当使用socket()创建一个套接字时,它属于一个地址族但并没有分配名字。
listen函数允许连接套接字,并指定最大的被拒绝连接次数。当用listen()允许连接后,通过accept()函数接受连接。
一般服务端可能在accept返回后创建一个新的任务进行与客户的通信,或者直接创建一个新的任务来调用accept,原来的任务则继续等待另一个连接。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐