网站首页  词典首页

请输入您要查询的计算机术语:

 

术语 CAsyncSocket::GetSockOpt
释义 CAsyncSocket::GetSockOpt

BOOL GetSockOpt( int nOptionName, void* lpOptionValue, int* lpOptionLen, int nLevel = SOL_SOCKET );

返回值:
函数调用成功时返回非零值,否则为0,可以调用函数GetLastError获得特定的错误代码。如果没有用SetSockOpt设置选项,则GetSockOpt返回选项的缺省值。此成员函数可用的错误代码有:
·WSANOTINITIALISED在调用此API函数之前应该成功地调用了AfxSocketInit。
·WSAENETDOWNWindows Sockets检测到网络子系统故障。
·WSAEFAULT参数lpOptionLen无效。
·WSAEINPROGRESS正在进行Windows Sockets块操作。
·WSAENOPROTOOPT系统不支持该选项。例如,SOCK_STREAM类型的套接字不支持SO_BROADCAST选项,SOCK_DGRAM类型的套接字不支持SO_ACCEPTCONN,SO_DONTLINGER,SO_KEEPALIVE,SO_LINGER和SO_OOBINLINE选项。
·WSAENOTSOCK描述符不是一个套接字。

参数:
nOptionName待检索的套接字选项名。
lpOptionValue指向存放套接字选项的返回值的缓冲区的指针。函数返回时,套接字选项的值存放在lpOptionValue所指的缓冲中。调用时,参数lpOptionLen存放缓冲区的大小(字节数),函数返回时,把它置成实际返回的字节数。对选项SO_LINGER来说,返回的是LINGER结构的大小;对于其它选项,返回的是BOOL值或int值的长度。请参阅后面“说明”部分选项和返回值大小的列表。
lpOptionLen指向lpOptionValue缓冲的大小(以字节为单位)的指针。
nLevel选项所定义的级别,支持的级别有:SOL_SOCKET和IPPROTO_TCP。

说明:
本成员函数用于检索套接字选项的值。GetSockOpt可以查询任意类型和状态的套接字的选项的当前值,结果保存在lpOptionValue中。选项影响套接字操作,例如包的传输路由、带外数据(out-of-band data)的数据传输等。
GetSockOpt支持以下的套接字选项。下表中的类型列说明了pOptionValue中数据的类型。TCP_NODELAY选项用于IPPROTO_TCP这一级别,其它选项用于SOL_SOCKET级别。
类型含义
SO_ACCEPTCONNBOOL套接字正在监听
SO_BROADCASTBOOL套接字被配置成广播消息方式
SO_DEBUGBOOL允许调试
SO_DONTLINGERBOOL如果为真,选项SO_LINGER被禁止
SO_DONTROUTEBOOL路由被禁止
SO_ERRORint返回并清除错误状态
SO_KEEPALIVEBOOL正在发送“保持活动”
SO_LINGERstruct LINGER返回当前的延时选项
SO_OOBINLINEBOOL在正常数据流中收到了带外数据
SO_RCVBUFint接收缓冲区的大小
SO_REUSEADDRBOOL套接字可以绑定到已经在使用的地址
SO_SNDBUFint发送缓冲区的大小
SO_TYPEint套接字的类型(如SOCK_STREAM)
TCP_NODELAYBOOL禁止发送合并数据的Nagle算法

GetSockOpt不支持的Berkeley 软件分布(BSD)选项有:
类型含义
SO_RCVLOWATint接收最低水准标志
SO_RCVTIMEOint接收超时消息
SO_SNDLOWATint发送最低水准标志
SO_SNDTIMEOint发送超时消息
IP_OPTIONSint获取IP头的选项
TCP_MAXSEGint获取TCP段的最大尺寸

调用GetSockOpt时,如果参数中出现了系统不支持的选项,将会产生错误。调用GetLastError可以得到错误代码WSAENOPROTOOPT。

请参阅:CAsyncSocket::SetSockOpt
随便看

 

MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。

 

Copyright © 2004-2023 Winrtm.com All Rights Reserved
京ICP备2021023879号-40 更新时间:2024/10/6 12:20:02