public void SetOption(SockOption sockOption, int size) { switch (sockOption) { case SockOption.recBufSize: socket.SendBufferSize = size; break; case SockOption.sendBufSize: socket.SendBufferSize = size; break; case SockOption.ttl: socket.Ttl = (short)size; break; case SockOption.reuse: socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); break; case SockOption.conTimeOut: conTimeOut = size; break; case SockOption.receiveTimeout: socket.ReceiveTimeout = size; break; case SockOption.sendTimeout: socket.SendTimeout = size; break; case SockOption.keepAlive: keepAlive = size; break; } }
/// <summary> /// /// </summary> /// <param name="sockOption"></param> /// <param name="size"></param> /// <returns></returns> public ServerSocketChannel Option(SockOption sockOption, int size) { channel.SetOption(sockOption, size); return(this); }