internal NetConnection(NetPeer peer, IPEndPoint remoteEndPoint)
 {
     m_peer = peer;
     m_peerConfiguration = m_peer.Configuration;
     m_status = NetConnectionStatus.None;
     m_visibleStatus = NetConnectionStatus.None;
     m_remoteEndPoint = remoteEndPoint;
     m_sendChannels = new NetSenderChannelBase[NetConstants.NumTotalChannels];
     m_receiveChannels = new NetReceiverChannelBase[NetConstants.NumTotalChannels];
     m_queuedOutgoingAcks = new NetQueue<NetTuple<NetMessageType, int>>(4);
     m_queuedIncomingAcks = new NetQueue<NetTuple<NetMessageType, int>>(4);
     m_statistics = new NetConnectionStatistics(this);
     m_averageRoundtripTime = -1.0f;
     m_currentMTU = m_peerConfiguration.MaximumTransmissionUnit;
 }
            internal void Discover(NetPeer peer)
            {
                string str =
    "M-SEARCH * HTTP/1.1\r\n" +
    "HOST: 239.255.255.250:1900\r\n" +
    "ST:upnp:rootdevice\r\n" +
    "MAN:\"ssdp:discover\"\r\n" +
    "MX:3\r\n\r\n";

                m_status = UPnPStatus.Discovering;

                byte[] arr = System.Text.Encoding.UTF8.GetBytes(str);

                m_peer.LogDebug("Attempting UPnP discovery");
                peer.Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true);
                peer.RawSend(arr, 0, arr.Length, new IPEndPoint(IPAddress.Broadcast, 1900));
                peer.Socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, false);

                // allow some extra time for router to respond
                // System.Threading.Thread.Sleep(50);

                m_discoveryResponseDeadline = (float)NetTime.Now + 6.0f; // arbitrarily chosen number, router gets 6 seconds to respond
                m_status = UPnPStatus.Discovering;
            }
 /// <summary>
 /// NetUPnP constructor
 /// </summary>
 public NetUPnP(NetPeer peer)
 {
     m_peer = peer;
     m_discoveryResponseDeadline = float.MinValue;
 }
Example #4
0
        static void Main(string[] args)
        {
            NetPeerConfiguration config = new NetPeerConfiguration("unittests");

            config.EnableUPnP = true;
            NetPeer peer = new NetPeer(config);

            peer.Start();             // needed for initialization

            Console.WriteLine("Unique identifier is " + NetUtility.ToHexString(peer.UniqueIdentifier));

            ReadWriteTests.Run(peer);

            NetQueueTests.Run();

            MiscTests.Run(peer);

            BitVectorTests.Run();

            EncryptionTests.Run(peer);

            var om = peer.CreateMessage();

            peer.SendUnconnectedMessage(om, new IPEndPoint(IPAddress.Loopback, 14242));
            try
            {
                peer.SendUnconnectedMessage(om, new IPEndPoint(IPAddress.Loopback, 14242));
            }
            catch (NetException nex)
            {
                if (nex.Message != "This message has already been sent! Use NetPeer.SendMessage() to send to multiple recipients efficiently")
                {
                    throw;
                }
            }

            peer.Shutdown("bye");

            // read all message
            NetIncomingMessage inc = peer.WaitMessage(5000);

            while (inc != null)
            {
                switch (inc.MessageType)
                {
                case NetIncomingMessageType.DebugMessage:
                case NetIncomingMessageType.VerboseDebugMessage:
                case NetIncomingMessageType.WarningMessage:
                case NetIncomingMessageType.ErrorMessage:
                    Console.WriteLine("Peer message: " + inc.ReadString());
                    break;

                case NetIncomingMessageType.Error:
                    throw new Exception("Received error message!");
                }

                inc = peer.ReadMessage();
            }

            Console.WriteLine("Done");
            Console.ReadKey();
        }
Example #5
0
 public void Send <T>(NetPeer peer, T packet, DeliveryMethod options) where T : class, new()
 {
     _netDataWriter.Reset();
     Write(_netDataWriter, packet);
     peer.Send(_netDataWriter, options);
 }
Example #6
0
 public void OnPeerConnected(NetPeer peer)
 {
     Console.WriteLine("[Client {0}] connected to: {1}:{2}", Client.LocalEndPoint.Port, peer.EndPoint.Host, peer.EndPoint.Port);
 }
Example #7
0
 public void OnNetworkReceive(NetPeer peer, NetDataReader reader)
 {
 }
Example #8
0
 public void OnNetworkLatencyUpdate(NetPeer peer, int latency)
 {
 }
 void INetEventListener.OnPeerConnected(NetPeer peer)
 {
     _serverPeer = peer;
     Debug.Log("OnPeerConnected : " + peer.EndPoint.Address + " : " + peer.EndPoint.Port);
 }
 void INetEventListener.OnNetworkReceive(NetPeer peer, NetPacketReader reader, DeliveryMethod deliveryMethod)
 {
     OnNetworkReceived?.Invoke(peer, reader, deliveryMethod);
 }
Example #11
0
 public override void OnPeerDisconnected(NetPeer peer, DisconnectReason disconnectReason, int socketErrorCode)
 {
     throw new NotImplementedException();
 }
Example #12
0
        public void OnPeerDisconnected(NetPeer peer, DisconnectInfo disconnectInfo)
        {
            IConnection conn = peer.GetConnection();

            server.OnDisconnected(conn, MpDisconnectReason.ClientLeft);
        }
Example #13
0
 public override void OnPeerConnected(NetPeer peer)
 {
     throw new NotImplementedException();
 }
Example #14
0
 public override void OnNetworkReceive(NetPeer peer, NetDataReader reader)
 {
     throw new NotImplementedException();
 }
Example #15
0
 public override void OnNetworkLatencyUpdate(NetPeer peer, int latency)
 {
     throw new NotImplementedException();
 }
Example #16
0
 public void OnNetworkReceive(NetPeer peer, NetPacketReader reader, DeliveryMethod method)
 {
     byte[] data = reader.GetRemainingBytes();
     peer.GetConnection().serverPlayer.HandleReceive(new ByteReader(data), method == DeliveryMethod.ReliableOrdered);
 }
Example #17
0
 public void OnNetworkLatencyUpdate(NetPeer peer, int latency)
 {
     peer.GetConnection().Latency = latency;
 }
Example #18
0
 public NetPeerWrapper(NetPeer peer)
 {
     this.peer                  = peer;
     peer.UserData              = this;
     this.peer.PayloadReceived += this.OnPayloadReceived;
 }
    public override void DeserializeClientReadyExtra(LiteNetLibIdentity playerIdentity, NetPeer peer, NetDataReader reader)
    {
        if (playerIdentity == null)
        {
            return;
        }
        var playerCharacterEntity = playerIdentity.GetComponent <PlayerCharacterEntity>();

        playerCharacterEntity.DeserializeCharacterData(reader);
        // Notify clients that this character is spawn or dead
        if (playerCharacterEntity.CurrentHp > 0)
        {
            playerCharacterEntity.RequestOnRespawn(true);
        }
        else
        {
            playerCharacterEntity.RequestOnDead(true);
        }
    }
 void INetEventListener.OnPeerDisconnected(NetPeer peer, DisconnectInfo disconnectInfo)
 {
     _serverPeer = null;
     Debug.Log("OnPeerDisconnected : " + peer.EndPoint.Address + " : " + peer.EndPoint.Port + " Reason : " + disconnectInfo.Reason.ToString());
 }
Example #21
0
 public void OnPeerConnected(NetPeer peer)
 {
     Debug.Log("[Client] We connected to " + peer.EndPoint);
 }
 void INetEventListener.OnNetworkLatencyUpdate(NetPeer peer, int latency)
 {
 }
Example #23
0
 public void OnPeerDisconnected(NetPeer peer, DisconnectInfo disconnectInfo)
 {
     Debug.Log("[CLIENT] We disconnected because " + disconnectInfo.Reason);
 }
Example #24
0
 public void OnPeerDisconnected(NetPeer peer, DisconnectReason reason, int socketErrorCode)
 {
 }
Example #25
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="peer">Managed NetPeer</param>
 public LiteNetLibPeerManager(NetPeer peer)
 {
     Peer = peer;
 }
Example #26
0
 public void OnPeerConnected(NetPeer peer)
 {
     Debug.Log("Connected to " + peer.EndPoint);
     _ourPeer = peer;
 }
Example #27
0
 public void OnPeerConnected(NetPeer peer)
 {
     Debug.LogFormat("[Client {0}] connected to: {1}:{2}", Client.LocalPort, peer.EndPoint.Address, peer.EndPoint.Port);
 }
Example #28
0
 public void SendNetSerializable <T>(NetPeer peer, T packet, DeliveryMethod options) where T : INetSerializable
 {
     _netDataWriter.Reset();
     WriteNetSerializable(_netDataWriter, packet);
     peer.Send(_netDataWriter, options);
 }
Example #29
0
 public void OnPeerDisconnected(NetPeer peer, DisconnectInfo disconnectInfo)
 {
     Debug.Log("[Client] disconnected: " + disconnectInfo.Reason);
 }
 public NetReceiverChannelBase(NetConnection connection)
 {
     m_connection = connection;
     m_peer = connection.m_peer;
 }
Example #31
0
 public void OnPeerDisconnected(NetPeer peer, DisconnectInfo disconnectInfo)
 {
     Debug.Log("[Server] Peer disconnected: " + peer.EndPoint + ", reason: " + disconnectInfo.Reason);
 }
Example #32
0
 public void OnNetworkReceive(NetPeer peer, NetPacketReader reader, DeliveryMethod deliveryMethod)
 {
 }
Example #33
0
 public override void OnMessage(NetPeer peer, NetDataReader reader)
 {
 }
 internal NetPeerStatistics(NetPeer peer)
 {
     m_peer = peer;
     Reset();
 }
Example #35
0
 public void OnPeerDisconnected(NetPeer peer, DisconnectReason reason, int socketErrorCode)
 {
     Debug.Log("[Disconnect] " + peer.ConnectId.ToString());
 }