Example #1
0
    //---- Ctor
    //---------
    public void Init()
    {
        _log = new UnityLogger();
        LoadClientState();
        Connection          = new ClientConnection(State, _log);
        _connectionListener = new ClientConnectionListener(State, Connection, _log);
        Lobby.Init(_log);

        // Hook up listeners
        Connection.ConnectionListener = _connectionListener;
        Connection.LobbyListener      = Lobby;
    }
Example #2
0
        /// <summary>
        /// Starts the server services
        /// </summary>
        /// <returns></returns>
        public bool Start()
        {
            if (_isRunning == true)
            {
                Log.info("Server is already running");
                return true;
            }
            else
            {
                Log.info("Starting TCP Server...");

                _ipEndPoint = new IPEndPoint(IPAddress.Parse(_ipAddress), _portNumber);

                try
                {
                    _socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                }
                catch (SocketException e)
                {
                    Log.error("Failed to start server.  " + ((SocketError)e.ErrorCode).ToString());
                    return false;
                }

                try
                {
                    _socket.Bind(_ipEndPoint);
                }
                catch (SocketException e)
                {
                    Log.error("Failed to start server.  " + ((SocketError)e.ErrorCode).ToString());
                    return false;
                }

                _clientConnectionListener = new ClientConnectionListener(_socket, this);

                _clientConnectionListenerThread = new Thread(_clientConnectionListener.Listen);

                Log.info("Starting Remote Client Listener service...");
                _clientConnectionListenerThread.Start();
            }

            _isRunning = true;
            return true;
        }
Example #3
0
 /// <summary>
 /// リスナーを削除
 /// </summary>
 /// <param name="listener"></param>
 public void RemoveListener(ClientConnectionListener listener)
 {
     ClientConnectionListeners.Remove(listener);
 }
Example #4
0
 /// <summary>
 /// リスナーを追加
 /// </summary>
 /// <param name="listener"></param>
 public void AddListener(ClientConnectionListener listener)
 {
     ClientConnectionListeners.Add(listener);
 }