纳金网
标题:
服务器开发第二章 连接对象定义
[打印本页]
作者:
狂风大尉
时间:
2014-6-30 16:00
标题:
服务器开发第二章 连接对象定义
包含成员
socket 连接客户端的socket对象
message 此连接当前接收消息对象
messageCache 接收消息缓存 在第三季中因为考虑到客户端发送的消息一般不会很大 所以可有可无 没有实际意义 此对象是考虑粘包的情况下 进行消息缓存 以便解析
包含方法
write 用于给此连接发送消息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace GameServer.NetModel
{
class Session
{
public Socket socket { get; set; }
public byte[] message { get; set; }
<pre class="brush:csharp;auto-links:false;"><span class="Apple-tab-span" style="white-space:pre"> </span>public List<byte> messageCache { get; set; }</pre>
public Session() {
message = new byte[1024 * 4];
}
public void write(int type,int area,int command,Object message) {
SocketModel model = new SocketModel(type, area, command, null);
if (message != null)
{
model.Message= coding.Coding<Object>.encode(message);
}
int length = 16;
if (model.Message != null)
{
length += model.Message.Length;
}
ByteArray arr = new ByteArray();
arr.WriteInt(length);
arr.WriteInt(model.Type);
arr.WriteInt(model.Area);
arr.WriteInt(model.Command);
if (model.Message != null)
{
length += model.Message.Length;
arr.WriteInt(model.Message.Length);
arr.WriteUTFBytes(model.Message);
}
else {
arr.WriteInt(0);
}
socket.Send(arr.Buffer);
}
}
}
复制代码
作者:
HIDEOKOJIMA
时间:
2014-6-30 17:26
THanks for sharing !
作者:
wucnj
时间:
2014-7-1 10:45
感谢分享!!!
作者:
icerein
时间:
2014-7-1 12:45
感谢分享!!!
欢迎光临 纳金网 (http://rs.narkii.com/club/)
Powered by Discuz! X2.5