setsockopt的解释

上一篇 / 下一篇  2008-04-07 14:22:02 / 个人分类:Delphi

setsockopt(设置socket状态)51Testing软件测试网*@v*]4O9^4d w
相关函数
2{^2Qp4{ v0getsockopt51Testing软件测试网 f'M#SV!\1{8^ \!P4|

i2_ut t [q0X]i*Z0表头文件
}8H:Y"Z0O2D0#include<sys/types.h>;
zN;Qi4l0#include<sys/socket.h>;51Testing软件测试网 A O3@?"fg8H+C

n[8B5p,Sp$H"W8?B d0定义函数51Testing软件测试网&{$Z4AC i TJ9`'CYP
int setsockopt(int s,int level,int optname,const void * optval,,socklen_toptlen);51Testing软件测试网_ n5l$\K^lc_(x

u'mF}%X)sM0函数说明51Testing软件测试网M ]^@K
setsockopt()用来设置参数s所指定的socket状态。参数level代表欲设置的网络层,一般设成SOL_SOCKET以存取socket层。参数optname代表欲设置的选项,有下列几种数值:
iQ.bt'[9m8r0SO_DEBUG 打开或关闭排错模式51Testing软件测试网gW#]3E@0b
SO_REUSEADDR 允许在bind()过程中本地地址可重复使用
;Lfd+A1] z5R~0SO_TYPE 返回socket形态。51Testing软件测试网7g0x-ZF%N kJ?1c{~;F
SO_ERROR 返回socket已发生的错误原因
]v1Ab*yS3Z0SO_DONTROUTE 送出的数据包不要利用路由设备来传输。
XpUWo/]^8u0SO_BROADCAST 使用广播方式传送51Testing软件测试网 |/j0P2@5??&\ C
SO_SNDBUF 设置送出的暂存区大小
{3L!qz c ^0SO_RCVBUF 设置接收的暂存区大小51Testing软件测试网G7T1GrRx,|-RM
SO_KEEPALIVE 定期确定连线是否已终止。51Testing软件测试网J4{'d+_9?1Bz
SO_OOBINLINE 当接收到OOB 数据时会马上送至标准输入设备51Testing软件测试网;_/X6z O`7AO!s
SO_LINGER 确保数据安全且可靠的传送出去。51Testing软件测试网l.sqdopT

.r:p0[mZ}D-t0参数51Testing软件测试网W"Ns&})Po;P|
optval代表欲设置的值,参数optlen则为optval的长度。
}.kN Tx&~051Testing软件测试网.w)QASl V2L
返回值51Testing软件测试网YX M*g-d@O;J w6M
成功则返回0,若有错误则返回-1,错误原因存于errno。51Testing软件测试网3E(WBU!} v'sM
51Testing软件测试网,Jz+S sA9j/A!E q
附加说明51Testing软件测试网(]/c \ \T%X
EBADF 参数s并非合法的socket处理代码51Testing软件测试网e`Wj"D"]U
ENOTSOCK 参数s为一文件描述词,非socket
|;W9D {.z6G0ENOPROTOOPT 参数optname指定的选项不正确。
+k P[_Q.Oy0EFAULT 参数optval指针指向无法存取的内存空间

相关阅读:

TAG: setsockopt Delphi

 

评分:0

我来说两句

Open Toolbar