void ProcessPackets() { for (; ;) { NetIncomingMessage msg = server.ReadMessage(); if (msg == null) { return; } switch (msg.Type) { case NetworkMessageType.Connect: ClientSimple c = new ClientSimple(); c.MainSocket = server; c.Connection = msg.SenderConnection; c.chunksseen = new bool[(MapSizeX / ChunkSize) * (MapSizeY / ChunkSize)][]; clients[0] = c; clientsCount = 1; break; case NetworkMessageType.Data: byte[] data = msg.message; Packet_Client packet = new Packet_Client(); Packet_ClientSerializer.DeserializeBuffer(data, msg.messageLength, packet); ProcessPacket(0, packet); break; case NetworkMessageType.Disconnect: break; } } }
void SendRequest(NetClient client) { //Create request packet Packet_Client pp = ClientPackets.ServerQuery(); //Serialize packet CitoMemoryStream ms = new CitoMemoryStream(); Packet_ClientSerializer.Serialize(ms, pp); byte[] data = ms.ToArray(); //Send packet to server INetOutgoingMessage msg = new INetOutgoingMessage(); msg.Write(data, ms.Length()); client.SendMessage(msg, MyNetDeliveryMethod.ReliableOrdered); }