public override bool Receive(out TransportEventData eventData) { Telepathy.Message msg; bool state = false; if (IsServer) { state = server.GetNextMessage(out msg); } else { state = client.GetNextMessage(out msg); } if (state) { //NetDebug.Log("接收到消息:" + msg.eventType); ENetworkEvent msgType = ENetworkEvent.DataEvent; switch (msg.eventType) { case Telepathy.EventType.Connected: msgType = ENetworkEvent.ConnectEvent; break; case Telepathy.EventType.Data: msgType = ENetworkEvent.DataEvent; break; case Telepathy.EventType.Disconnected: msgType = ENetworkEvent.DisconnectEvent; break; default: break; } eventData = new TransportEventData() { type = msgType, connectionId = msg.connectionId, data = msg.data, disconnectInfo = this.m_disconnectInfo, }; if (msgType == ENetworkEvent.DisconnectEvent) { m_disconnectInfo = default(EDisconnectInfo); } } else { eventData = default(TransportEventData); } return(state); }
public override bool Receive(out TransportEventData eventData) { SimpleTCP.Message msg; bool state = false; if (IsServer) { state = server.GetNextMessage(out msg); } else { state = client.GetNextMessage(out msg); } if (state) { //NetDebug.Log("接收到消息:" + msg.eventType); ENetworkEvent msgType = ENetworkEvent.DataEvent; switch (msg.eventType) { case SimpleTCP.EventType.Connected: msgType = ENetworkEvent.ConnectEvent; break; case SimpleTCP.EventType.Data: msgType = ENetworkEvent.DataEvent; break; case SimpleTCP.EventType.Disconnected: msgType = ENetworkEvent.DisconnectEvent; break; default: break; } EDisconnectReason disReason = EDisconnectReason.ConnectionFailed; if (msg.disconnectReason == SimpleTCP.DisconnectReason.ConnectionFailed) { disReason = EDisconnectReason.ConnectionFailed; } else if (msg.disconnectReason == SimpleTCP.DisconnectReason.DisconnectPeerCalled) { disReason = EDisconnectReason.DisconnectPeerCalled; } eventData = new TransportEventData() { type = msgType, connectionId = msg.connectionId, data = msg.data, disconnectInfo = new EDisconnectInfo() { Reason = disReason, } }; } else { eventData = default(TransportEventData); } return(state); }
protected void Add_Event( ENetworkEvent event_type, ESessionID session_id ) { CLog.Log( ELoggingChannel.Network, ELogLevel.Medium, String.Format( "Adding network event {0} on session id {1}", event_type.ToString(), (int) session_id ) ); m_CurrentFrame.Add_Event( event_type, session_id ); }