/// <summary> /// handles an incoming host info message /// </summary> private void HandleHostInfo(int connectionId, byte[] buffer, int size) { NetUtilHostState state = ConstructType <NetUtilHostState>(buffer, 1, size - 1); m_hostTime = state.time; m_salt = state.salt; m_state = NetUtilState.CONNECTED; }
/// <summary> /// handles connection messages /// </summary> /// <param name="connectionId">connection id the message came from</param> private void HandleConnect(int connectionId) { if (m_isHost) { if (!m_connections.ContainsKey(connectionId)) { AddConnection(connectionId, ""); byte error; NetUtilHostState state = new NetUtilHostState(); state.time = m_hostTime; state.salt = ++m_salt; SendMessage(m_host, connectionId, m_messageChannel, NetUtilMessageType.HOST_INFO, state, out error); foreach (NetUtilObjectCreator creator in m_activeObjects.Values) { SendMessage(m_host, connectionId, m_messageChannel, NetUtilMessageType.CREATE_OBJECT, creator, out error); } m_state = NetUtilState.CONNECTED; } } else { if (connectionId != m_hostId) { DebugConsole.Log("an unknown connection attempt has occured."); } else { SendMessage(NetUtilMessageType.CONNECTION_INFO, m_name); } } }