可以通过调用Socket对象的SetSocketOption方法设置套接字的各种选项,它有3种重载的形式:
public void SetSocketOption(SetSocketOptionLevel sl,SocketOptionName sn,byte[]value)
public void SetSocketOption(SetSocketOptionLevel sl,SocketOptionName sn,int value)
public void SetSocketOption(SetSocketOptionLevel sl,SocketOptionName sn,object value)
其中sl定义套接字选项的类型,可选类弄有IP、Socket、Tcp、Udp。
sn指定套接字选项的值,常用的选项值。
SocketOptionLevel | SocketOptionName | 说明 |
IP | HeaderIncluded | 指出发送到套接字的数据将包括IP头 |
IP | IPOptions | 指定IP选项用于输出包中 |
IP | MulticastInterface | 设置组播包使用的端口 |
IP | MultiLookBack | IP组播回送 |
IP | PacketInformation | 返回关于接收包的信息 |
IP | UnBlockSource | 设置套接字为无阻塞模式 |
Socket | AcceptConnection | 如果为真,表时套接字正在侦听 |
Socket | Broadcast | 如果为真,表时允许在套接字上发送广播消息 |
Socket | MaxConnections | 设置使用的最大队列长度 |
Socket | ReceiveBuffer | 接收套接字的缓存大小 |
Socket | ReceiveTimeout | 接收套接字的超时时间 |
Socket | SendBuffer | 发送套接字的缓存大小 |
Socket | SendTimeout | 发送套接字的超时时间 |
Socket | UseLookback | 使用回传 |
Udp | NoDelay | 为发送合并禁用Nagle算法 |
Udp | ChecksumConverage | 设置或获取UDP校验和覆盖 |
Udp | NoChecksum | 发送校验和设置为零的UDP数据报 |
使用方法:
s.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.SendTimeout,1000);