private static void KickClient(ISocket client, NetworkText kickMessage) { BinaryWriter writer = fullBuffer.writer; if (writer == null) { fullBuffer.ResetWriter(); writer = fullBuffer.writer; } writer.BaseStream.Position = 0L; long position = writer.BaseStream.Position; writer.BaseStream.Position += 2L; writer.Write((byte)2); kickMessage.Serialize(writer); if (Main.dedServ) { Console.WriteLine(Language.GetTextValue("CLI.ClientWasBooted", client.GetRemoteAddress().ToString(), kickMessage)); } int num = (int)writer.BaseStream.Position; writer.BaseStream.Position = position; writer.Write((short)num); writer.BaseStream.Position = num; client.AsyncSend(fullBuffer.writeBuffer, 0, num, ServerFullWriteCallBack, client); }
private static void KickClient(ISocket client, NetworkText kickMessage) { BinaryWriter writer = Netplay.fullBuffer.writer; if (writer == null) { Netplay.fullBuffer.ResetWriter(); writer = Netplay.fullBuffer.writer; } writer.BaseStream.Position = 0L; long position1 = writer.BaseStream.Position; writer.BaseStream.Position += 2L; writer.Write((byte)2); kickMessage.Serialize(writer); if (Main.dedServ) { Console.WriteLine(Language.GetTextValue("CLI.ClientWasBooted", (object)client.GetRemoteAddress().ToString(), (object)kickMessage)); } int position2 = (int)writer.BaseStream.Position; writer.BaseStream.Position = position1; writer.Write((short)position2); writer.BaseStream.Position = (long)position2; client.AsyncSend(Netplay.fullBuffer.writeBuffer, 0, position2, new SocketSendCallback(Netplay.ServerFullWriteCallBack), (object)client); }
public static NetPacket SerializeServerMessage(NetworkText text, Color color, byte authorId) { NetPacket result = NetModule.CreatePacket <NetTextModule>(1 + text.GetMaxSerializedSize() + 3); result.Writer.Write(authorId); text.Serialize(result.Writer); result.Writer.WriteRGB(color); return(result); }