internal Session(TcpClient client) { // Get a stream object for reading and writing stream = client.GetStream(); readPacket = new ReadPacket(stream); writePacket = new WritePacket(stream); callback = new ReadPacket.CallbackDelegate(HandlePacket); }
/// <summary> /// Answer to the client. /// </summary> /// <param name="packet"></param> internal void Answer(WritePacket packet) { packet.Init(); packet.Type = Packet.NEGOT_PACKET; for (int i = 0; i < records.Count; i++) { Record record = records[i]; packet.WriteByte(record.type); packet.WriteBeShort(record.offset); packet.WriteBeShort(record.size); } packet.WriteByte(0xFF); for (int i = 0; i < records.Count; i++) { Record record = records[i]; packet.WriteBytes(record.data); } packet.Send(); }