Exemplo n.º 1
0
    void HandleMicrophoneAudio(byte[] _bAudioData)
    {
        if (EventRecievedMicrophoneAudio != null)
        {
            CNetworkStream cAudioDataStream = new CNetworkStream(_bAudioData);
            cAudioDataStream.IgnoreBytes(1);

            EventRecievedMicrophoneAudio(cAudioDataStream);
        }
    }
Exemplo n.º 2
0
    protected void HandlePlayerMicrophoneAudio(RakNet.RakNetGUID _cPlayerGuid, byte[] _baData)
    {
        if (EventRecievedPlayerMicrophoneAudio != null)
        {
            CNetworkStream cAudioDataStream = new CNetworkStream(_baData);
            cAudioDataStream.IgnoreBytes(1);

            EventRecievedPlayerMicrophoneAudio(FindNetworkPlayer(_cPlayerGuid.g), cAudioDataStream);
        }
    }
Exemplo n.º 3
0
    void HandleNetworkViewPacket(byte[] _baData)
    {
        if (IsConnected)
        {
            // Create stream with data
            CNetworkStream cStream = new CNetworkStream(_baData);

            // Ignore ID_TIME
            cStream.IgnoreBytes(1);

            // Retrieve latency
            ulong ulLatency = RakNet.RakNet.GetTime() - cStream.ReadULong();
            // Ignore EPacketId.NetworkView identifier
            cStream.IgnoreBytes(1);

            // Process packet data
            CNetworkView.ProcessInboundStream(ulLatency, cStream);

            // Logger.WriteError("Processed Inbound Data of size ({0})", cStream.GetSize());
        }
    }
Exemplo n.º 4
0
    public static void ProcessPlayerSerializedData(CNetworkPlayer _cPlayer, byte[] _baData)
    {
        // Create packet stream
        CNetworkStream cStream = new CNetworkStream(_baData);

        // Ignore timestamp packet id
        cStream.IgnoreBytes(1);

        // Retrieve latency
        ulong ulLatency = RakNet.RakNet.GetTime() - cStream.ReadULong();

        // Ignmore serialized data packet id
        cStream.IgnoreBytes(1);

        // Iterate through the packet data
        while (cStream.HasUnreadData &&
               cStream.NumUnreadBits > 18)
        {
            // Extract the target identifier
            byte bTargetIdentifier = cStream.ReadByte();

            // Extract the size of the data
            ushort usBitSize  = cStream.ReadBits <ushort>(10);
            ushort usByteSize = (ushort)((float)usBitSize / 8.0f);

            // Extract the data
            byte[] baData = new byte[usByteSize];
            cStream.BitStream.ReadBits(baData, usBitSize);

            // Create stream for the control
            CNetworkStream cTargetStream = new CNetworkStream();
            cTargetStream.WriteBits(baData, usBitSize);

            // Have the target process its data
            s_mThrottledSerializeTargets[bTargetIdentifier].nUnserializeMethod(_cPlayer, cTargetStream);
        }
    }
Exemplo n.º 5
0
	void HandleMicrophoneAudio(byte[] _bAudioData)
	{
		if (EventRecievedMicrophoneAudio != null)
		{
			CNetworkStream cAudioDataStream = new CNetworkStream(_bAudioData);
			cAudioDataStream.IgnoreBytes(1);
			
			EventRecievedMicrophoneAudio(cAudioDataStream);
		}
	}
Exemplo n.º 6
0
    void HandleNetworkViewPacket(byte[] _baData)
    {
		if (IsConnected)
		{
			// Create stream with data
			CNetworkStream cStream = new CNetworkStream(_baData);

			// Ignore ID_TIME
			cStream.IgnoreBytes(1);
			
			// Retrieve latency
			ulong ulLatency = RakNet.RakNet.GetTime() - cStream.ReadULong();
			// Ignore EPacketId.NetworkView identifier
			cStream.IgnoreBytes(1);
			
			// Process packet data
			CNetworkView.ProcessInboundStream(ulLatency, cStream);

			// Logger.WriteError("Processed Inbound Data of size ({0})", cStream.GetSize());
		}
    }
Exemplo n.º 7
0
	public static void ProcessPlayerSerializedData(CNetworkPlayer _cPlayer, byte[] _baData)
	{
		// Create packet stream
		CNetworkStream cStream = new CNetworkStream(_baData);
        
        // Ignore timestamp packet id
		cStream.IgnoreBytes(1);

		// Retrieve latency
		ulong ulLatency = RakNet.RakNet.GetTime() - cStream.ReadULong();

        // Ignmore serialized data packet id
		cStream.IgnoreBytes(1);

		// Iterate through the packet data
		while (cStream.HasUnreadData &&
               cStream.NumUnreadBits > 18)
		{
			// Extract the target identifier
			byte bTargetIdentifier = cStream.ReadByte();

			// Extract the size of the data
            ushort usBitSize = cStream.ReadBits<ushort>(10);
            ushort usByteSize = (ushort)((float)usBitSize / 8.0f);

			// Extract the data
            byte[] baData = new byte[usByteSize];
            cStream.BitStream.ReadBits(baData, usBitSize);

			// Create stream for the control
			CNetworkStream cTargetStream = new CNetworkStream();
            cTargetStream.WriteBits(baData, usBitSize);

			// Have the target process its data
			s_mThrottledSerializeTargets[bTargetIdentifier].nUnserializeMethod(_cPlayer, cTargetStream);
		}
	}
Exemplo n.º 8
0
	protected void HandleUnconnectPong(byte[] _baData, RakNet.SystemAddress _cServerSystemAddress, RakNet.RakNetGUID _cServerGuid)
	{
		// Create stream
		CNetworkStream cStream = new CNetworkStream(_baData);

		// Ignore message identifier
		cStream.IgnoreBytes(1);

		// Read time
		uint uiTime = cStream.ReadUInt();

		// Read response data
		byte[] baOfflinePingResponse = cStream.ReadBytes(cStream.NumUnreadBytes);

		// Create server info
		TServer tLanServerInfo = new TServer();
		tLanServerInfo.sIp = _cServerSystemAddress.ToString();
		tLanServerInfo.usPort = _cServerSystemAddress.GetPort();
		tLanServerInfo.uiLatency = RakNet.RakNet.GetTimeMS() - uiTime;
		tLanServerInfo.cGuid = new RakNet.RakNetGUID(_cServerGuid.g);

		// Convert response data to server info
		tLanServerInfo.tServerInfo = new CNetworkServer.TServerInfo(baOfflinePingResponse);
	
		
		uint uiLocalNumberOfAddresses = m_cRnPeer.GetNumberOfAddresses();
		string sIpPrefix = _cServerSystemAddress.ToString().Substring(0, _cServerSystemAddress.ToString().IndexOf('.'));
		bool bIsLanServer = false;


		for (uint i = 0; i < uiLocalNumberOfAddresses; ++ i)
		{
			string sMyLanIp = m_cRnPeer.GetLocalIP(i);


			string sLanIpPrefix = sMyLanIp.Substring(0, sMyLanIp.IndexOf('.'));


			if (sLanIpPrefix == sIpPrefix)
			{
				bIsLanServer = true;
				break;
			}
		}


		if (!bIsLanServer)
		{
			m_aOnlineServers.Add(tLanServerInfo);
		}
		else
		{
			m_aLanServers.Add(tLanServerInfo);
		}


		//Logger.WriteError("Added server ({0}:({1}) lan ({2})", tLanServerInfo.sIp, tLanServerInfo.usPort, bIsLanServer);


		// Notify event observers
		if (EventFoundServer != null)
		{
			EventFoundServer(tLanServerInfo);
		}
	}
Exemplo n.º 9
0
    protected void HandleUnconnectPong(byte[] _baData, RakNet.SystemAddress _cServerSystemAddress, RakNet.RakNetGUID _cServerGuid)
    {
        // Create stream
        CNetworkStream cStream = new CNetworkStream(_baData);

        // Ignore message identifier
        cStream.IgnoreBytes(1);

        // Read time
        uint uiTime = cStream.ReadUInt();

        // Read response data
        byte[] baOfflinePingResponse = cStream.ReadBytes(cStream.NumUnreadBytes);

        // Create server info
        TServer tLanServerInfo = new TServer();

        tLanServerInfo.sIp       = _cServerSystemAddress.ToString();
        tLanServerInfo.usPort    = _cServerSystemAddress.GetPort();
        tLanServerInfo.uiLatency = RakNet.RakNet.GetTimeMS() - uiTime;
        tLanServerInfo.cGuid     = new RakNet.RakNetGUID(_cServerGuid.g);

        // Convert response data to server info
        tLanServerInfo.tServerInfo = new CNetworkServer.TServerInfo(baOfflinePingResponse);


        uint   uiLocalNumberOfAddresses = m_cRnPeer.GetNumberOfAddresses();
        string sIpPrefix    = _cServerSystemAddress.ToString().Substring(0, _cServerSystemAddress.ToString().IndexOf('.'));
        bool   bIsLanServer = false;


        for (uint i = 0; i < uiLocalNumberOfAddresses; ++i)
        {
            string sMyLanIp = m_cRnPeer.GetLocalIP(i);


            string sLanIpPrefix = sMyLanIp.Substring(0, sMyLanIp.IndexOf('.'));


            if (sLanIpPrefix == sIpPrefix)
            {
                bIsLanServer = true;
                break;
            }
        }


        if (!bIsLanServer)
        {
            m_aOnlineServers.Add(tLanServerInfo);
        }
        else
        {
            m_aLanServers.Add(tLanServerInfo);
        }


        //Logger.WriteError("Added server ({0}:({1}) lan ({2})", tLanServerInfo.sIp, tLanServerInfo.usPort, bIsLanServer);


        // Notify event observers
        if (EventFoundServer != null)
        {
            EventFoundServer(tLanServerInfo);
        }
    }
Exemplo n.º 10
0
	protected void HandlePlayerMicrophoneAudio(RakNet.RakNetGUID _cPlayerGuid, byte[] _baData)
	{
		if (EventRecievedPlayerMicrophoneAudio != null)
		{
			CNetworkStream cAudioDataStream = new CNetworkStream(_baData);
			cAudioDataStream.IgnoreBytes(1);
			
			EventRecievedPlayerMicrophoneAudio(FindNetworkPlayer(_cPlayerGuid.g), cAudioDataStream);
		}
	}