public void ConnectAsync(string host, ushort port) { UAddress address = new UAddress(host, port); ENetAddress nativeAddress = address.Struct; this.PeerPtr = NativeMethods.ENetHostConnect(this.poller.Host, ref nativeAddress, 2, 0); if (this.PeerPtr == IntPtr.Zero) { throw new Exception($"host connect call failed, {host}:{port}"); } this.poller.USocketManager.Add(this.PeerPtr, this); }
public UPoller(string hostName, ushort port) { this.USocketManager = new USocketManager(); UAddress address = new UAddress(hostName, port); ENetAddress nativeAddress = address.Struct; this.host = NativeMethods.ENetHostCreate(ref nativeAddress, NativeMethods.ENET_PROTOCOL_MAXIMUM_PEER_ID, 0, 0, 0); if (this.host == IntPtr.Zero) { throw new Exception("Host creation call failed."); } NativeMethods.ENetHostCompressWithRangeCoder(this.host); }
public UPoller(string hostName, ushort port) { try { this.USocketManager = new USocketManager(); UAddress address = new UAddress(hostName, port); ENetAddress nativeAddress = address.Struct; this.host = NativeMethods.enet_host_create(ref nativeAddress, NativeMethods.ENET_PROTOCOL_MAXIMUM_PEER_ID, 0, 0, 0); if (this.host == IntPtr.Zero) { throw new Exception("Host creation call failed."); } NativeMethods.enet_host_compress_with_range_coder(this.host); } catch (Exception e) { throw new Exception($"UPoll construct error, address: {hostName}:{port}", e); } }