public void envoieMove(Vector3 pos, Vector3 dir) { ZEvent eventMove = new ZEvent(IDjoueur, 2, pos.x, pos.y, pos.z, dir.x, dir.y, dir.z); byte[] evt = eventMove.toBinary(); formatAndSend("u", evt); }
private void Install(string[] oPackagePathes) { Installer installer = new Installer(oPackagePathes); installer.SetEventInstalled((_installer) => { Installer oInstaller = _installer as Installer; if (!oInstaller.IsSucess) { if (mInstallCount < 2) { // 如果安装失败则重新加载,一共处理2次 LogMessage(MESSAGE_NORMALINFO, "资源安装出错,稍后会重新尝试!"); ZEvent oEvent = new ZEvent(); oEvent.AddListener(oEvent.GetType().Name, new DelayCaller((_delayCaller) => { mInstallCount++; LoadRemoteAsset(); })); oEvent.DelayNotify(oEvent.GetType().Name, null, 10); } else { LogMessage(MESSAGE_NORMALINFO, "更新失败,请与管理员联系!"); CallError(); } } else { LogMessage(MESSAGE_NORMALINFO, "更新成功,程序将在稍后启动!"); CallProgram(); } }); installer.Install(); }
public string EjecutarEvento(int tipo, int tec, int cmd, string info, string buffer, string aplicacion, int puerto, string tkns) { _logHandler.Info("////////////////////////////////// ejecutarEvento aplicacion: " + aplicacion + ", Puerto: " + puerto.ToString() + ", cmd: " + cmd.ToString()); string cadenaEnviar = new ZEvent(tipo, tec, cmd, info, buffer).ArmarCadenaSocket(); // Cerios abr 2020 cadenaEnviar = cadenaEnviar + ZTag.ZTAG_I_TKNS + tkns + ZTag.ZTAG_F_TKNS; _logHandler.Info(cadenaEnviar); return(SocketClienteEnviar(cadenaEnviar, puerto, cmd, tkns)); }
public void readSocket() { //readRessource(); byte[] TabTaille = new byte[4]; theStream.Read(TabTaille, 0, 4); int taille = BitConverter.ToInt32(TabTaille, 0); byte[] TabIdentifier = new byte[1]; theStream.Read(TabIdentifier, 0, 1); char[] Identifier = System.Text.Encoding.ASCII.GetChars(TabIdentifier); Debug.Log(Identifier.Length); switch (Identifier[0]) { case 'r': //Read Ressourse readRessource(); break; case 'w': //Read Ressourse string str = readString(taille - 1); Debug.Log("reçu " + str); break; case 'u': //Event ZEvent monEvent = new ZEvent(); monEvent.fromBinary(theStream); receiveMove(monEvent); break; case 'c': //connexion ZEvent maConn = new ZEvent(); maConn.fromBinary(theStream); //receiveMove(maConn); IDjoueur = maConn.getEvent(); //Debug.Log("connexion !! "+maConn.getEvent()+" "+maConn.getType()+" "+maConn.getPosition().x+" "+maConn.getPosition().y+" "+maConn.getPosition().z); //Debug.Log("connexion !! "+maConn.getEvent()+" "+maConn.getType()+" "+maConn.getDirection().x+" "+maConn.getDirection().y+" "+maConn.getDirection().z); break; default: taille = taille - 1; Debug.Log("type inconnue, je jette tout : " + taille + "Byte"); byte[] dechet = new byte[taille]; theStream.Read(dechet, 0, taille); break; } }
void Start() { setupSocket(); ZEvent eventMove = new ZEvent((ulong)0, 2, 495.7633f, 0.0f, 495.411f, 0.0f, 0.0f, 0.0f); byte[] evt = eventMove.toBinary(); formatAndSend("c", evt); readSocket(); /*ThreadStart listen = new ThreadStart(readSocket); * Thread thread = new Thread(listen); * thread.Start();*/ //closeSocket(); }
public void receiveMove(ZEvent monEvent) { int ID = 0; if (monEvent.getEvent() == IDjoueur) { return; } if (Characters.TryGetValue(monEvent.getEvent(), out ID)) { GameObject o = GameObject.Find("z@walk " + ID); AICharacterControl cc = (AICharacterControl)o.GetComponent(typeof(AICharacterControl)); transform.position = monEvent.getPosition(); //Debug.Log ("z@walk "+ID+" "+monEvent.getPosition().x+" "+monEvent.getPosition().y+" "+monEvent.getPosition().z+" "); //o.transform.forward = monEvent.transform.forward; cc.SetTarget(transform); } else { //on fait pop le zombie ou le characters Characters.Add(monEvent.getEvent(), (int)monEvent.getEvent()); } }
public void LoadRemoteAsset() { WebAllLoader.WebAssetDir[] oDirs = new WebAllLoader.WebAssetDir[InteralVersions.Count]; for (int i = oDirs.Length - 1; i >= 0; i--) { VersionData oData = InteralVersions[i]; WebAllLoader.WebAssetDir oDir = new WebAllLoader.WebAssetDir(); oDir.Url = Settings.ServerPackageUri + "/" + Path.GetFileNameWithoutExtension(oData.Name) + ".zip"; oDir.SavePath = Settings.LocalPackageUri + "/package/" + Path.GetFileNameWithoutExtension(oData.Name) + ".zip"; oDirs[i] = oDir; } WebAllLoader allLoader = new WebAllLoader(); allLoader.LoadAll(oDirs); allLoader.SetEventAllLoading((_allLoader) => { LogMessage(MESSAGE_ASSETPROGRESS, ((int)(_allLoader.FinalProgress * 100)).ToString()); }); allLoader.SetEventOnError((_allLoader) => { _allLoader.Close(); LogMessage(MESSAGE_NORMALINFO, "资源下载终止, 稍后将会重新尝试!"); ZEvent oEvent = new ZEvent(); oEvent.AddListener(oEvent.GetType().Name, new DelayCaller((_caller) => { LoadRemoteAsset(); })); oEvent.DelayNotify(oEvent.GetType().Name, null, 10); }); allLoader.SetEventAllLoaded((_allLoader) => { _allLoader.Close(); LogMessage(MESSAGE_NORMALINFO, "资源下载完成,等待解压"); Install(_allLoader.SavePaths); }); allLoader.Start(); }
public ZEventObject() { Event = new ZEvent(); }
private string EjecutarServicio(string idApl, string opcion, string dominio, string tkna, string log, string content, string buffer, int cmd, string metodo) { if (null != log) { _siLogActividad = (1 == Int32.Parse(log)); } string cadenaXmlBody = ZTag.ZTAG_I_PARAMETROS + ZTag.ZTAG_I_FMT + "xml" + ZTag.ZTAG_F_FMT + ZTag.ZTAG_I_OPER + metodo + ZTag.ZTAG_F_OPER + ZTag.ZTAG_I_DATOS + JsonToXml(content) + ZTag.ZTAG_F_DATOS + ZTag.ZTAG_F_PARAMETROS; _logHandler.Info("************ ejecutarServicio: idApl: " + idApl + "-- opcion: " + opcion + "--operacion :" + metodo + "-- body json:" + content + "--body xml :" + cadenaXmlBody); // Ejecuta aplicacion _logHandler.Info("---- CM_APLICACION " + idApl + "Opc:" + opcion); switch (cmd) { // Cmd que se da cuando se entra parametros de logeo case ZCommandConst.CM_SOLOLOGIN: // Retorna tkna buffer = ZTag.ZTAG_I_CMDEVT + "SOLOLOGIN" + ZTag.ZTAG_F_CMDEVT + buffer; return(_zsck.SocketClienteEnviar(buffer)); case ZCommandConst.CM_EJECSERVICIO: // Arma buffer para enviar con parametros de logeo buffer = ZTag.ZTAG_I_CMDEVT + "EJECUTAR" + ZTag.ZTAG_F_CMDEVT + ZTag.ZTAG_I_TKNA + tkna + ZTag.ZTAG_F_TKNA + ZTag.ZTAG_I_IPSC + "0000" + ZTag.ZTAG_F_IPSC + ZTag.ZTAG_I_PSC + "0000" + ZTag.ZTAG_F_PSC + ZTag.ZTAG_I_CLIENTE + "web" + ZTag.ZTAG_F_CLIENTE + ZTag.ZTAG_I_IDAPLI + idApl + ZTag.ZTAG_F_IDAPLI + ZTag.ZTAG_I_LOG + log + ZTag.ZTAG_F_LOG + ZTag.ZTAG_I_OPC + opcion + ZTag.ZTAG_F_OPC + ZTag.ZTAG_I_PARAMETROS + "si" + ZTag.ZTAG_F_PARAMETROS; // Indica que es servicio _logHandler.Info("---- antes CM_APLICACION EJECUTAR SERVICIO Buffer: " + buffer); break; } string cadena = _zsck.SocketClienteEnviar(buffer); _logHandler.Info("---- despues CM_APLICACION EJECUTAR SERVICIO resultado: " + cadena); //Obtiene puerto donde se ejecuta la aplciacion int puertoSrvAplicacion = Int32.Parse(_zsck.GetTagValue(ZTag.ZTAG_PSC, cadena)); string tkns = _zsck.GetTagValue(ZTag.ZTAG_TKNS, cadena); //_zsck.SetTknsOpenSocket(puertoSrvAplicacion, tkns); _logHandler.Info(puertoSrvAplicacion); _logHandler.Info(tkns); _logHandler.Info("---- CM_EJECSERVICIO"); string datoTkns = ZTag.ZTAG_I_TKNS + tkns + ZTag.ZTAG_F_TKNS; string cadEvento = new ZEvent(2, 0, ZCommandConst.CM_EJECSERVICIO, "", "").ArmarCadenaSocket(); string cadenaEnviar = cadEvento + datoTkns + cadenaXmlBody; return(_zsck.SocketClienteEnviar(cadenaEnviar, puertoSrvAplicacion, ZCommandConst.CM_EJECSERVICIO, tkns)); }
private string EjecutarServicio(string idApl, string opcion, string tkna, int log, object objectBuffer, int cmd, string metodo, string remoteIpAddress) { siLogActividad = log == 1; string xmlBuffer = string.Empty; if (objectBuffer != null) { if (objectBuffer is Dictionary <string, string> ) { xmlBuffer = _ztag.DictionaryToXml(objectBuffer as Dictionary <string, string>); } else { xmlBuffer = _ztag.JsonToXml(objectBuffer.ToString()); } } string cadenaXmlBody = ZTag.ZTAG_I_PARAMETROS + ZTag.ZTAG_I_FMT + "xml" + ZTag.ZTAG_F_FMT + ZTag.ZTAG_I_OPER + metodo + ZTag.ZTAG_F_OPER + xmlBuffer + ZTag.ZTAG_F_PARAMETROS; string localIP = LocalIPAddress().ToString(); // Ejecuta aplicacion _logHandler.Info("ZSocket EjecutarServicio CM_APLICACION " + idApl + ", Opc:" + opcion + ", remoteIP: " + remoteIpAddress + ", localIP: " + localIP); string buffer = string.Empty; switch (cmd) { // Cmd que se da cuando se entra parametros de logeo case ZCommandConst.CM_EJECSERVICIO: // Arma buffer para enviar con parametros de logeo buffer = ZTag.ZTAG_I_CMDEVT + "EJECUTAR" + ZTag.ZTAG_F_CMDEVT + ZTag.ZTAG_I_TKNA + tkna + ZTag.ZTAG_F_TKNA + ZTag.ZTAG_I_CLIENTE + "web" + ZTag.ZTAG_F_CLIENTE + ZTag.ZTAG_I_IPCLI + remoteIpAddress + ZTag.ZTAG_F_IPCLI + ZTag.ZTAG_I_IPMID + localIP + ZTag.ZTAG_I_IPMID + ZTag.ZTAG_I_IDAPLI + idApl + ZTag.ZTAG_F_IDAPLI + ZTag.ZTAG_I_LOG + log + ZTag.ZTAG_F_LOG + ZTag.ZTAG_I_OPC + opcion + ZTag.ZTAG_F_OPC + ZTag.ZTAG_I_PARAMETROS + "si" + ZTag.ZTAG_F_PARAMETROS; // Indica que es servicio break; } string cadena = SocketClienteEnviar(buffer); //Obtiene puerto donde se ejecuta la aplciacion int puertoSrvAplicacion = Int32.Parse(GetTagValue(ZTag.ZTAG_PSC, cadena)); string tkns = GetTagValue(ZTag.ZTAG_TKNS, cadena); _logHandler.Info($"ZSocket puertoSrvAplicacion: {puertoSrvAplicacion}, tkns: {tkns}"); string datoTkns = ZTag.ZTAG_I_TKNS + tkns + ZTag.ZTAG_F_TKNS; string cadEvento = new ZEvent(2, 0, ZCommandConst.CM_EJECSERVICIO, "", "").ArmarCadenaSocket(); string cadenaEnviar = cadEvento + datoTkns + cadenaXmlBody; return(SocketClienteEnviar(cadenaEnviar, puertoSrvAplicacion, ZCommandConst.CM_EJECSERVICIO, tkns)); }