套接口库函数参考(十八)

2010-12-30 21:03:01 · 作者: · 浏览: 59162
PI之前应首先成功地调用WSAStartup()

  WSAENETDOWNWINDOWS套接口实现检测到网络子系统失效。

  WSAEFAULTnamelen参数不够大。

  WSAEINPROGRESS:一个阻塞的WINDOWS套接口调用正在运行中。

  WSAENOTSOCK:描述字不是一个套接口。

  WSAEINVAL:套接口未用bind()捆绑。

 

参见:

  bind(), socket(), getpeername().

 

 

5.1.7 getsockopt()

简述:

  获取一个套接口选项。

 

  #include <winsock.h>

 

  int PASCAL FAR getsockopt( SOCKET s, int level, int optname,

  char FAR* optval, int FAR* optlen);

 

  s:一个标识套接口的描述字。

  level:选项定义的层次。支持的层次仅有SOL_SOCKETIPPROTO_TCP

  optname:需获取的套接口选项。

  optval:指针,指向存放所获得选项值的缓冲区。

  optlen:指针,指向optval缓冲区的长度值。

 

注释:

  getsockopt()函数用于获取任意类型、任意状态套接口的选项当前值,并把结果存入optval。在不同协议层上存在选项,但往往是在最高的“套接口”层次上,设置选项影响套接口的操作,诸如操作的阻塞与否、包的选径方式、带外数据的传送等。

  被选中选项的值放在optval缓冲区中。optlen所指向的整形数在初始时包含缓冲区的长度,在调用返回时被置为实际值的长度。对SO_LINGER选项而言,相当于linger结构的大小,对其他选项来说,是一个整形数的大小。

  如果未进行setsoc