static int SendMessage(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 2 && TypeChecker.CheckTypes <string>(L, 2)) { VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1); string arg0 = ToLua.ToString(L, 2); obj.SendMessage(arg0); return(0); } else if (count == 2 && TypeChecker.CheckTypes <VisowFrameWork.ByteBuffer>(L, 2)) { VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1); VisowFrameWork.ByteBuffer arg0 = (VisowFrameWork.ByteBuffer)ToLua.ToObject(L, 2); obj.SendMessage(arg0); return(0); } else if (count == 3 && TypeChecker.CheckTypes <UnityEngine.SendMessageOptions>(L, 3)) { VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1); string arg0 = ToLua.CheckString(L, 2); UnityEngine.SendMessageOptions arg1 = (UnityEngine.SendMessageOptions)ToLua.ToObject(L, 3); obj.SendMessage(arg0, arg1); return(0); } else if (count == 3 && TypeChecker.CheckTypes <object>(L, 3)) { VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1); string arg0 = ToLua.CheckString(L, 2); object arg1 = ToLua.ToVarObject(L, 3); obj.SendMessage(arg0, arg1); return(0); } else if (count == 4) { VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1); string arg0 = ToLua.CheckString(L, 2); object arg1 = ToLua.ToVarObject(L, 3); UnityEngine.SendMessageOptions arg2 = (UnityEngine.SendMessageOptions)ToLua.CheckObject(L, 4, typeof(UnityEngine.SendMessageOptions)); obj.SendMessage(arg0, arg1, arg2); return(0); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: VisowFrameWork.NetWorkManager.SendMessage")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
/// <summary> /// 接收到消息 /// </summary> /// <param name="ms"></param> void OnReceivedMessage(MemoryStream ms) { BinaryReader r = new BinaryReader(ms); byte[] message = r.ReadBytes((int)(ms.Length - ms.Position)); //int msglen = message.Length; ByteBuffer buffer = new ByteBuffer(message); int mainId = buffer.ReadShort(); NetWorkManager.AddEvent(mainId, buffer); }
/// <summary> /// 丢失链接 /// </summary> void OnDisconnected(DisType dis, string msg) { Close(); //关掉客户端链接 int protocal = dis == DisType.Exception ? Protocal.Exception : Protocal.Disconnect; ByteBuffer buffer = new ByteBuffer(); buffer.WriteShort((ushort)protocal); NetWorkManager.AddEvent(protocal, buffer); Debug.LogWarning("Connection was closed by the server:>" + msg + " Distype:>" + dis); }
static int NetWorkManager(IntPtr L) { try { ToLua.CheckArgsCount(L, 0); VisowFrameWork.NetWorkManager o = VisowFrameWork.Util.NetWorkManager(); ToLua.Push(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int setLuaDelete(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1); LuaFunction arg0 = ToLua.CheckLuaFunction(L, 2); obj.setLuaDelete(arg0); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int SendConnect(IntPtr L) { try { ToLua.CheckArgsCount(L, 3); VisowFrameWork.NetWorkManager obj = (VisowFrameWork.NetWorkManager)ToLua.CheckObject <VisowFrameWork.NetWorkManager>(L, 1); string arg0 = ToLua.CheckString(L, 2); int arg1 = (int)LuaDLL.luaL_checknumber(L, 3); obj.SendConnect(arg0, arg1); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
/// <summary> /// 连接上服务器 /// </summary> void OnConnect(IAsyncResult asr) { outStream = client.GetStream(); client.GetStream().BeginRead(byteBuffer, 0, MAX_READ, new AsyncCallback(OnRead), null); NetWorkManager.AddEvent(Protocal.Connect, new ByteBuffer()); }