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

来源:互联网 发布:cf安装包要用软件打开 编辑:程序博客网 时间:2024/06/05 02:48
 
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,原来的任务则继续等待另一个连接。
 
原创粉丝点击