| | |
| | | public class ClientSocketController
|
| | | {
|
| | | Socket m_Socket;
|
| | | public Socket socket
|
| | | {
|
| | | public Socket socket {
|
| | | get { return m_Socket; }
|
| | | }
|
| | |
|
| | |
| | |
|
| | | }
|
| | |
|
| | | static byte[] vCmdBytes = new byte[2];
|
| | | /// <summary>
|
| | | /// 阅读信息
|
| | | /// </summary>
|
| | |
| | | vPackBytes = new byte[vBodyLeng];
|
| | | Array.Copy(fixBytes, vReadIndex + 6, vPackBytes, 0, vBodyLeng); // 提取包的字节内容
|
| | | // 完整的包则读包
|
| | | vNetpack = PackageRegedit.TransPack(vPackBytes);
|
| | | if (vNetpack != null)
|
| | | {
|
| | | if (DebugEx.EnableNetLog)
|
| | | {
|
| | | DebugEx.NetLogFormat("收包:{0}", vNetpack.GetType().Name);
|
| | | }
|
| | |
|
| | | GameNetSystem.Instance.PushPackage(vNetpack);
|
| | | vPackBytes = GameNetEncode.BaseXorSub(vPackBytes);
|
| | | Array.Copy(vPackBytes, 0, vCmdBytes, 0, 2);
|
| | | var cmd = (ushort)((ushort)(vCmdBytes[0] << 8) + vCmdBytes[1]);
|
| | | if (PackageRegedit.Contain(cmd))
|
| | | {
|
| | | vNetpack = PackageRegedit.TransPack(cmd, vPackBytes);
|
| | | if (vNetpack != null)
|
| | | {
|
| | | if (DebugEx.EnableNetLog)
|
| | | {
|
| | | DebugEx.NetLogFormat("收包:{0}", vNetpack.GetType().Name);
|
| | | }
|
| | |
|
| | | GameNetSystem.Instance.PushPackage(vNetpack);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | CSharpCallLua.OnRecieveLuaNetPackage(cmd, vPackBytes);
|
| | | }
|
| | |
|
| | | vReadIndex += 6 + vBodyLeng;
|
| | | }
|
| | | }
|