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); }
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); }
internal NATServerConnection(ENet.Host *host, IPEndPoint target) { Host = host; endPoint = target; Peer = null; }
internal RemoteConnection(ENet.Peer *peer) { Peer = peer; internalEndPoint = new IPEndPoint(Peer->address.Host, Peer->address.Port); }
internal void Initialize(ENet.Peer *peer) { Peer = peer; internalEndPoint.Address.Address = Peer->address.Host; internalEndPoint.Port = Peer->address.Port; }