socketaccept socket文件描述符与accept文件描述符区别
一、socket端口指令
您好,Socket端口指令是用于在计算机网络中处理网络通信的指令。在Socket编程中,常用的端口指令有以下几个:
1.bind():将Socket绑定到一个特定的网络地址和端口。
2.listen():告诉操作系统,该Socket开始监听来自客户端的连接请求。
3.accept():等待客户端的连接请求,并返回一个新的Socket用于与该客户端进行通信。
4.connect():连接到一个指定的网络地址和端口。
5.send():向已连接的Socket发送数据。
6.recv():从已连接的Socket接收数据。
7.close():关闭一个Socket连接。
以上指令是Socket编程中常用的端口指令,可以实现不同的网络通信功能。
二、VC中使用API编写的socket程序中如何设置阻塞和非阻塞accept
阻塞就是说accept()执行时会一直停留在此调用中,直到返回正确的connfd前,不会执行accept()之后的代码。非阻塞就是说accept()执行时会立即返回结果,成功就返回正确的connfd,失败就返回相应错误码。相应的代码就要不停的accept(),并处理成功和失败的情况,但是因为accept()能快速返回结果,程序就很好的立即这个间隙,做此其他更有意义的事件。上面描述的过程并不完全准确,具体原理建议阅读
UNIX网络编程(豆瓣)
三、socket文件描述符与accept文件描述符区别
socket()返回套接口描述字(socketfiledescriptor)。accept()返回对端的套接字,一个新的套接字。