一个做智能化的网站有哪些,广西住房和城乡建设厅网站首页,易语言网站开发,宣讲家网站 家风建设listen 函数
功能 将套接字置于侦听传入连接的状态。
语法
int WSAAPI listen(SOCKET s,int backlog
);
参数一#xff1a;标识绑定的未连接套接字的描述符
参数二#xff1a;挂起连接队列的最大长度 如果设置为 SOMAXCONN#xff0c;则负责套接字的基础服务提供商会…listen 函数
功能 将套接字置于侦听传入连接的状态。
语法
int WSAAPI listen(SOCKET s,int backlog
);
参数一标识绑定的未连接套接字的描述符
参数二挂起连接队列的最大长度 如果设置为 SOMAXCONN则负责套接字的基础服务提供商会将积压工作设置为最大合理值。
返回值 如果未发生错误返回零。否则返回 SOCKET_ERROR可以通过调用 WSAGetLastError 来检索特定的错误代码。
accept函数
功能 accept 函数允许在套接字上尝试传入连接。listen 函数用于监听客户端传来的链接accept 函数将客户端的信息绑定到一个 socket 上。
语法
SOCKET WSAAPI accept(SOCKET s,sockaddr *addr,int *addrlen
);
参数一已使用 listen 函数处于侦听状态的套接字 即服务器端的 socket。
参数二客户端的地址端口信息结构体 用于监视客户端通过该结构体记录客户端 IP 地址与端口号。
参数三参数二的大小 指针类型指向参数二的长度。
返回值 如果未发生错误 则返回一个类型为 SOCKET 的值该值是一个已建立连接的新的套接字的描述符。否则返回 INVALID_SOCKET 值可以通过调用 WSAGetLastError 来检索特定的错误代码。
特点
阻塞 若没有客户端链接则一直等待无返回值。
一对一 一个 accept 函数只能将服务器端与一个客户端建立连接若想将服务器端与多个客户端建立连接则需循环调用 accept 函数且调用次数与客户端个数相同否则会阻塞。
recv 函数服务器端
功能 从连接的套接字或绑定的无连接套接字接收数据即接收指定客户端发送的消息。
语法
int WSAAPI recv(SOCKET s,char *buf,int len,int flags
);
参数一标识连接的套接字的描述符 即客户端 socket一个客户端对应唯一的 socket。
参数二指向用于接收传入数据的缓冲区的指针 即客户端消息的存储空间是一个字符数组一般设 1500 字节即网络传输的最大单元。
参数三buf 参数指向的缓冲区的长度以字节为单位 即参数二指向的缓冲区的长度或者也可设为想要从缓冲区内读取的字节数不能超过缓冲区长度。
参数四数据的读取方式 一般写 0。
返回值 如果未发生错误则返回收到的字节数buf 参数指向的缓冲区将包含接收的此数据。 如果连接已正常关闭客户端下线则返回值为零。否则将返回SOCKET_ERROR值并且可以通过调用 WSAGetLastError 来检索特定的错误代码。