- 5
- 0
- 约6.38千字
- 约 33页
- 2018-10-12 发布于上海
- 举报
扩展特性
Windows Sockets2概述;Winsock2同时使用多个传输协议;与windows sockets1.1应用程序的向后兼容性;重叠I/O;如果在应用程序提供数据缓冲区时已经有数据到来,那么接收的数据将被立即拷贝进用户缓冲区。
如果数据到来时,应用程序没有提供接收缓冲区,那么网络将回到我们熟悉的同步操作方式-传送来的数据将被存放进内部缓冲区,直到应用程序发出了接收调用并且提供了接收缓冲区,这时接收的数据就被拷贝进接收缓冲区。
这种做法会有一个例外:就是当应用程序使用setsockopt()函数把接收缓冲区长度置为了0。
在这种情况下,对于可靠传输协议,只有在应用程序提供了接收数据缓冲区后,数据才会被接收;
而对于不可靠传输协议,数据将会丢失。
对于发送的一方,应用程序使用WSASend()函数或WSASendTo()函数提供一个指向已填充了数据的缓冲区的指针。应用程序不应在网络使用完该缓冲区的数据以前以??何方式破坏该缓冲区的数据。;重叠发送和接收调用会立即返回。
如果返回值是0,那么表明了I/O操作已经完成,对应的完成指示也已经可以得到。
如果返回值是SOCKET_ERROR,并且错误代码是WSA_IO_PENDING,那么表明重叠操作已经被成功地初始化,今后发送缓冲区被用完或者接收缓冲区被填满时,将会有完成指示。
任何其他的错误代码表明了初始化没有成功,今后也不会有什么
原创力文档

文档评论(0)