/// <summary> /// 启动服务 /// </summary> public bool Start() { try { //服务器配置和服务器状态判断 if (_config == null || State == ServerStateEnum.NotInitialized) { State = ServerStateEnum.NotInitialized; } _sessionTable = new Dictionary <string, AppSession>(); //客户端会话连接Session _threadlist = new List <Thread>(); //线程池 processor = new Thread(new ThreadStart(OnStart)); //新建一个处理线程 processor.IsBackground = true; //线程启动 processor.Start(); //线程开始准备就绪 //客户端心跳处理判断 daemonthread = new DaemonThread(this); State = ServerStateEnum.Running; return(true); } catch (Exception ex) { State = ServerStateEnum.NotStarted; return(false); } }
/// <summary> /// 创建监听的Socket /// </summary> /// <param name="ip">服务ip </param> /// <param name="port">服务端口号</param> public void Start(string ip = "0.0.0.0", int port = 6099) { Init(m_receiveBufferSize); IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Parse(ip), port); listenSocket = new Socket(localEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); listenSocket.Bind(localEndPoint); listenSocket.Listen(NnumConnections); // LogService.Instance.InfoFormatted("Start listen socket {0} success", localEndPoint.ToString()); StartAccept(null); m_daemonThread = new DaemonThread(this);//开启守护线程 }