
1,ioctlsocket()#include This function controls the I/O mode of a socket.int ioctlsocket( SOCKET s, long cmd, u_long FAR* argp); Parameters s[in] Descriptor identifying a socket.cmd[in] Command to perform on socket s.argp[in, out] Pointer to a parameter for cmd. Return Values If no error occurs, this function returns zero. If an error occurs, a value of SOCKET_ERROR is returned, and a specific error code can be retrieved by calling WSAGetLastError. The following table shows a list of possible error codes. u_long mode = 0;ioctlsocket(s,FIONBIO,&mode);控制为阻塞方式。
u_long mode = 1;ioctlsocket(s,FIONBIO,&mode);控制为非阻塞方式。 本函数可用于任一状态的任一套接口。它用于获取与套接口相关的操作参数,而与具体协议或通讯子系统无关。支持下列命令:FIONBIO:允许或禁止套接口s的非阻塞模式。argp指向一个无符号长整型。如允许非阻塞模式则非零,如禁止非阻塞模式则为零。当创建一个套接口时,它就处于阻塞模式(也就是说非阻塞模式被禁止)。这与BSD套接口是一致的。WSAAsynSelect()函数将套接口自动设置为非阻塞模式。如果已对一个套接口进行了WSAAsynSelect() 操作,则任何用ioctlsocket()来把套接口重新设置成阻塞模式的试图将以WSAEINVAL失败。为了把套接口重新设置成阻塞模式,应用程序必须首先用WSAAsynSelect()调用(IEvent参数置为0)来禁至WSAAsynSelect()。FIONREAD:确定套接口s自动读入的数据量。argp指向一个无符号长整型,其中存有ioctlsocket()的返回。如果s是SOCKET_STREAM类型,则FIONREAD返回在一次recv()中所接收的所有数据量。
这通常与套接口中排队的数据总量相同。如果S是SOCK_DGRAM 型,则FIONREAD返回套接口上排队的第一个数据报大小。 SIOCATMARK:确实是否所有的带外数据都已被读入。这个命令仅适用于SOCK_STREAM类型的套接口,且该套接口已被设置为可以接收带外数据(SO_OOBINLINE)。如无带外数据等待读入,则该操作返回TRUE真。否则的话返回FALSE假,下一个recv()或recvfrom()操作将检索“标记”前一些或所有数据。应用程序可用SIOCATMARK操作来确定是否有数据剩下。如果在“紧急”(带外)数据前有常规数据,则按序接收这些数据(请注意,recv()和recvfrom()操作不会在一次调用中混淆常规数据与带外数据)。argp指向一个BOOL型数,ioctlsocket()在其中存入返回。 2,setsockopt()简述: Call this member function to set a socket option.BOOL SetSockOpt( int nOptionName, const void* lpOptionValue, int nOptionLen, int nLevel = SOL_SOCKET );ParametersnOptionNameThe socket option for which the value is to be set.lpOptionValueA pointer to the buffer in which the value for the requested option is supplied.nOptionLenThe size of the lpOptionValue buffer in bytes.nLevelThe level at which the option is defined; the only supported levels are SOL_SOCKET and IPPROTO_TCP.setsockopt()简述:设置套接口的选项。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-46993-1.html
多少也能空出百来万的中国新娘
这也太片面了吧
常规战是打不赢老美的