예제 #1
0
        public void Connect()
        {
            ENet.Address remoteAddr = new ENet.Address()
            {
                Host = (uint)endPoint.Address.Address,
                Port = remoteAddr.Port = (ushort)endPoint.Port
            };

            Peer = ENet.Connect(Host, ref remoteAddr, (IntPtr)1);
        }
예제 #2
0
        internal RemoteConnection CreateRemoteConnection(ENet.Peer *peer)
        {
            if (connectionPoolSize == 0)
            {
                return(new RemoteConnection(peer));
            }

            RemoteConnection remote = pool[--connectionPoolSize];

            pool[connectionPoolSize] = null;     // Free memory quicker.

            remote.Initialize(peer);

            return(remote);
        }
예제 #3
0
 internal NATServerConnection(ENet.Host *host, IPEndPoint target)
 {
     Host     = host;
     endPoint = target;
     Peer     = null;
 }
예제 #4
0
 internal RemoteConnection(ENet.Peer *peer)
 {
     Peer             = peer;
     internalEndPoint = new IPEndPoint(Peer->address.Host, Peer->address.Port);
 }
예제 #5
0
 internal void Initialize(ENet.Peer *peer)
 {
     Peer = peer;
     internalEndPoint.Address.Address = Peer->address.Host;
     internalEndPoint.Port            = Peer->address.Port;
 }