/// <summary> /// Default constructor /// </summary> /// <param name="acceptor">acceptor object</param> /// <param name="callBackObj">callback object</param> /// <param name="port">port</param> /// <param name="noDelay">noDelay falg</param> public ServerOps(INetworkServerAcceptor acceptor, String port, INetworkServerCallback callBackObj = null, IRoomCallback roomCallBackObj = null, bool noDelay = true, int socketCount = SocketCount.Infinite) { this.Port = port; this.Acceptor = acceptor; this.CallBackObj = callBackObj; this.RoomCallBackObj = roomCallBackObj; this.NoDelay = noDelay; this.MaxSocketCount = socketCount; }
protected override void execute() { StartStatus status = StartStatus.FAIL_SOCKET_ERROR; try { lock (m_generalLock) { if (IsServerStarted()) { status = StartStatus.FAIL_ALREADY_STARTED; throw new CallbackException(); } m_callBackObj = m_serverOfs.callBackObj; m_ip = m_serverOfs.ip; m_port = m_serverOfs.port; if (m_port == null || m_port.Length == 0) { m_port = ServerConf.DEFAULT_PORT; } m_listener = new TcpListener(IPAddress.Parse(m_ip), Convert.ToInt32(m_port)); m_listener.Start(); m_listener.BeginAcceptTcpClient(new AsyncCallback(onAccept), this); } } catch (CallbackException) { m_callBackObj.OnServerStarted(this, status); return; } catch (Exception ex) { Console.WriteLine(ex.Message + " >" + ex.StackTrace); if (m_listener != null) { m_listener.Stop(); } m_listener = null; m_callBackObj.OnServerStarted(this, StartStatus.FAIL_SOCKET_ERROR); return; } m_callBackObj.OnServerStarted(this, StartStatus.SUCCESS); }
/// <summary> /// Default constructor /// </summary> /// <param name="callBackObj">callback object</param> /// <param name="port">port</param> /// <param name="noDelay">noDelay falg</param> public ServerOps(INetworkServerCallback callBackObj, String port, bool noDelay=true) { this.Port = port; this.CallBackObj = callBackObj; this.NoDelay = noDelay; }