protected virtual void parseDataMessageFromClient(NetIncomingMessage dataMsg) { NetConnection peer = dataMsg.SenderConnection; using (IncomingMessage message = new IncomingMessage()) { using (NetBufferReadStream stream = new NetBufferReadStream(dataMsg)) { using (BinaryReader reader = new BinaryReader(stream)) { while (dataMsg.LengthBits - dataMsg.Position >= 8) { message.Read(reader); if (peers.ContainsLeft(message.FarmerID) && peers[message.FarmerID] == peer) { gameServer.processIncomingMessage(message); } else if (message.MessageType == 2) { NetFarmerRoot farmer = Game1.multiplayer.readFarmer(message.Reader); gameServer.checkFarmhandRequest("", getConnectionId(dataMsg.SenderConnection), farmer, delegate(OutgoingMessage msg) { sendMessage(peer, msg); }, delegate { peers[farmer.Value.UniqueMultiplayerID] = peer; }); } } } } } }
private void parseDataMessageFromServer(NetIncomingMessage dataMsg) { if (bandwidthLogger != null) { bandwidthLogger.RecordBytesDown(dataMsg.LengthBytes); } using IncomingMessage message = new IncomingMessage(); using NetBufferReadStream stream = new NetBufferReadStream(dataMsg); using BinaryReader reader = new BinaryReader(stream); while (dataMsg.LengthBits - dataMsg.Position >= 8) { message.Read(reader); processIncomingMessage(message); } }