Files
2023-01-01 12:50:59 +02:00

58 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace STUN
{
public class STUNBinaryWriter : BinaryWriter
{
public STUNBinaryWriter(Stream stream) : base(stream)
{
}
public override void Write(short value)
{
WriteNetworkBytes(BitConverter.GetBytes(value));
}
public override void Write(ushort value)
{
WriteNetworkBytes(BitConverter.GetBytes(value));
}
public override void Write(int value)
{
WriteNetworkBytes(BitConverter.GetBytes(value));
}
public override void Write(uint value)
{
WriteNetworkBytes(BitConverter.GetBytes(value));
}
public override void Write(long value)
{
WriteNetworkBytes(BitConverter.GetBytes(value));
}
public override void Write(ulong value)
{
WriteNetworkBytes(BitConverter.GetBytes(value));
}
private void WriteNetworkBytes(byte[] buffer)
{
if (BitConverter.IsLittleEndian)
{
Array.Reverse(buffer);
}
base.Write(buffer);
}
}
}