fork from 1.3
This commit is contained in:
32
FreeSR.Gateserver/Network/NetSession.cs
Normal file
32
FreeSR.Gateserver/Network/NetSession.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
namespace FreeSR.Gateserver.Network
|
||||
{
|
||||
using DotNetty.Buffers;
|
||||
using DotNetty.Transport.Channels;
|
||||
using FreeSR.Gateserver.Network.Packet;
|
||||
using FreeSR.Proto;
|
||||
|
||||
internal class NetSession
|
||||
{
|
||||
private IChannel _channel;
|
||||
|
||||
public NetSession(IChannel channel)
|
||||
{
|
||||
_channel = channel;
|
||||
}
|
||||
|
||||
public async void Send<T>(CmdType cmdId, T data) where T : class
|
||||
{
|
||||
var packet = new NetPacket()
|
||||
{
|
||||
CmdId = (int)cmdId,
|
||||
Data = data
|
||||
};
|
||||
|
||||
var buffer = Unpooled.Buffer();
|
||||
packet.Serialize<T>(buffer);
|
||||
packet.Buf = buffer;
|
||||
|
||||
await _channel.WriteAndFlushAsync(packet);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user