public abstract void EnetPeerSend(EnetPeer peer, byte channelID, byte[] data, int dataLength, int flags);
public override NetConnection Connect(string ip, int port) { peer = platform.EnetHostConnect(host, ip, port, 1234, 200); connected = true; return(null); }
public override NetConnection Connect(string ip, int port) { peer = platform.EnetHostConnect(host, ip, port, 1234, 200); connected = true; return null; }
public override NetIncomingMessage ReadMessage() { if (messages.Count() > 0) { return(messages.Dequeue()); } ENet.Event e; bool ret = ((EnetHostNative)host).host.Service(0, out e); event_ = new EnetEventNative(e); if (ret) { do { switch (event_.Type()) { case EnetEventType.Connect: { EnetPeer peer = event_.Peer(); peer.SetUserData(clientid++); EnetNetConnection senderConnectionConnect = new EnetNetConnection(); senderConnectionConnect.peer = event_.Peer(); NetIncomingMessage message = new NetIncomingMessage(); message.SenderConnection = senderConnectionConnect; message.Type = NetworkMessageType.Connect; messages.Enqueue(message); } break; case EnetEventType.Receive: { byte[] data = event_.Packet().GetBytes(); event_.Packet().Dispose(); EnetNetConnection senderConnectionReceive = new EnetNetConnection(); senderConnectionReceive.peer = event_.Peer(); NetIncomingMessage message = new NetIncomingMessage(); message.SenderConnection = senderConnectionReceive; message.message = data; message.Type = NetworkMessageType.Data; messages.Enqueue(message); } break; case EnetEventType.Disconnect: { EnetNetConnection senderConnectionDisconnect = new EnetNetConnection(); senderConnectionDisconnect.peer = event_.Peer(); NetIncomingMessage message = new NetIncomingMessage(); message.SenderConnection = senderConnectionDisconnect; message.Type = NetworkMessageType.Disconnect; messages.Enqueue(message); } break; } ret = ((EnetHostNative)host).host.CheckEvents(out e); event_ = new EnetEventNative(e); }while (ret); } if (messages.Count() > 0) { return(messages.Dequeue()); } return(null); }
public override void EnetPeerSend(EnetPeer peer, byte channelID, byte[] data, int dataLength, int flags) { try { EnetPeerNative peer_ = (EnetPeerNative)peer; peer_.peer.Send(channelID, data, (ENet.PacketFlags)flags); } catch { } }
public override NetIncomingMessage ReadMessage() { if (messages.Count() > 0) { return(messages.Dequeue()); } if (platform.EnetHostService(host, 0, event_)) { do { switch (event_.e.Type()) { case EnetEventType.Connect: { EnetPeer peer = event_.e.Peer(); peer.SetUserData(clientid++); EnetNetConnection senderConnectionConnect = new EnetNetConnection(); senderConnectionConnect.platform = platform; senderConnectionConnect.peer = event_.e.Peer(); NetIncomingMessage message = new NetIncomingMessage(); message.SenderConnection = senderConnectionConnect; message.Type = NetworkMessageType.Connect; messages.Enqueue(message); } break; case EnetEventType.Receive: { byte[] data = event_.e.Packet().GetBytes(); event_.e.Packet().Dispose(); EnetNetConnection senderConnectionReceive = new EnetNetConnection(); senderConnectionReceive.platform = platform; senderConnectionReceive.peer = event_.e.Peer(); NetIncomingMessage message = new NetIncomingMessage(); message.SenderConnection = senderConnectionReceive; message.message = data; message.Type = NetworkMessageType.Data; messages.Enqueue(message); } break; case EnetEventType.Disconnect: { EnetNetConnection senderConnectionDisconnect = new EnetNetConnection(); senderConnectionDisconnect.platform = platform; senderConnectionDisconnect.peer = event_.e.Peer(); NetIncomingMessage message = new NetIncomingMessage(); message.SenderConnection = senderConnectionDisconnect; message.Type = NetworkMessageType.Disconnect; messages.Enqueue(message); } break; } }while (platform.EnetHostCheckEvents(host, event_)); } if (messages.Count() > 0) { return(messages.Dequeue()); } return(null); }