// Use this for sign in public void ShowRegisterRet(JObjAccountRegisterRet.AccountRegisterResultType type) { JLog.Info("Register result:" + type.ToString(), JLogCategory.Common); /*switch (type) { * case JObjAccountRegisterRet.AccountRegisterResultType.failed: * UnityEditor.EditorUtility.DisplayDialog("注册", "注册失败!", "确认"); * break; * case JObjAccountRegisterRet.AccountRegisterResultType.accountNotAllowed: * UnityEditor.EditorUtility.DisplayDialog("注册", "账号不合法!", "确认"); * break; * case JObjAccountRegisterRet.AccountRegisterResultType.accountRepeated: * UnityEditor.EditorUtility.DisplayDialog("注册", "账号已被占用!", "确认"); * break; * case JObjAccountRegisterRet.AccountRegisterResultType.codeNotAllowed: * UnityEditor.EditorUtility.DisplayDialog("注册", "密码不合法!", "确认"); * break; * case JObjAccountRegisterRet.AccountRegisterResultType.codeIsTooSimple: * UnityEditor.EditorUtility.DisplayDialog("注册", "密码设置太过简单!", "确认"); * break; * case JObjAccountRegisterRet.AccountRegisterResultType.emailIsRegistered: * UnityEditor.EditorUtility.DisplayDialog("注册", "邮箱已被占用", "确认"); * break; * case JObjAccountRegisterRet.AccountRegisterResultType.successed: * UnityEditor.EditorUtility.DisplayDialog("注册", "注册成功!", "确认"); * break; * }*/ }
public static void Logic() { //根据状态调用processer处理 //local List <JPacketType> addedLocalData = JLocalDataHelper.takeData(); if (addedLocalData.Count > 0) { JLog.Info("JLogic.Logic find local data, count : " + addedLocalData.Count.ToString(), JGame.Log.JLogCategory.Network); foreach (JPacketType data in addedLocalData) { ProcessLocalData(data); } } //network List <JNetworkData> receivedData = JNetworkDataOperator.TakeReceivedData(); if (receivedData.Count > 0) { JLog.Info("JLogic.Logic find network data, count : " + receivedData.Count.ToString(), JGame.Log.JLogCategory.Network); DeSerialize(receivedData); foreach (JNetworkData data in receivedData) { ProcessNetworkData(data); } } }
public void Initialize(string serverIP, int serverPort) { if (_initialized) { JLog.Error("JClientSocketManager initialized aready !", JGame.Log.JLogCategory.Network); return; } JNetworkServerInfo.ServerIP = serverIP; JNetworkServerInfo.ServerPort = serverPort; IPAddress serverAdress = IPAddress.Parse(serverIP); IPEndPoint serverEdp = new IPEndPoint(serverAdress, serverPort); JClientSocket.socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); JNetworkInteractiveData.ReceivedData = new JNetworkDataQueue(); JNetworkInteractiveData.SendData = new JNetworkDataQueue(); try { JClientSocket.socket.Connect(serverEdp); JLog.Info("Connect to server success.", JGame.Log.JLogCategory.Network); JClientDataSenderThread.Initialize(); JClientDataReceiverThread.Initialize(); } catch (Exception e) { JLog.Error(e.Message, JGame.Log.JLogCategory.Network); return; } }
private bool CreateRole(JMySqlAccess mysql, string account, string roleName, int roleType, ref string roleId, ref int ErrorType) { try { string resultMssage = ""; bool inserResult = mysql.DoSql( string.Format("INSERT into {0} ( role_name, user_account, role_type, scene_id) VALUES( '{1}' , '{2}' , {3} , {4} );", JDBUtil.TableName_Server_RoleInfo, roleName, account, roleType, JDBUtil.TableValue_SenceID_Default), ref resultMssage); JLog.Info("resultMssage"); if (inserResult) { ErrorType = (int)JCreateRoleRetObject.CreateRoleResultType.successed; JLog.Debug("Create role success, account: " + account + " roleName:" + roleName + " roleType:" + roleType); return(true); } else { ErrorType = (int)JCreateRoleRetObject.CreateRoleResultType.failed; JLog.Debug("Create role falied, account: " + account + " roleName:" + roleName + " roleType:" + roleType); return(false); } } catch (Exception e) { JLog.Error(e.Message); ErrorType = (int)JCreateRoleRetObject.CreateRoleResultType.failed; return(false); } }
public Shipping addShipping(Shipping item) { try { T_Shipping data = new T_Shipping() { trackingCode = item.trackingCode, orderCode = item.orderCode, isActive = item.isActive, isShipping = item.isShipping, shippingDate = item.shippingDate, email = item.email, tel = item.tel, firstName = item.firstName, lastName = item.lastName, address = item.address, province = item.province, zipCode = item.zipCode, createDate = DateTime.Now, createBy = item.createBy, updateDate = DateTime.Now, updateBy = item.updateBy, printCoverQty = item.printCoverQty }; return(ConvertToScreenModel.Transactions.shipping(dao.addShipping(data))); } catch (Exception ex) { JLog.write(LOG_TYPE.ERROR, LOG_POSITION.BO, this, JLog.GetCurrentMethod(), ex); return(null); } }
public static IProcesser getProcessor(JPacketType packetType) { IProcesser processor = null; try { _readerWriteLocker.EnterReadLock(); if (JLogicRegisteredProcessors.processors.PacketTypeToProcessor.ContainsKey(packetType)) { processor = (IProcesser)JLogicRegisteredProcessors.processors.PacketTypeToProcessor[packetType]; } } catch (Exception e) { JLog.Error("JLogicHelper.RegisterProcessor error message:" + e.Message); } finally { _readerWriteLocker.ExitReadLock(); } if (null == processor) { JLog.Error("JLogicHelper.RegisterProcessor: Unregistered packet type:" + packetType.GetDescription()); } return(processor); }
private bool CheckRoleNameIsValud(JMySqlAccess mysql, string account, string roleName, ref int ErrorType) { string strSql = string.Format("select * from {0} where user_account = '{1}' and role_name = '{2}'", JDBUtil.TableName_Server_RoleInfo, account, roleName); try { DataSet dataset = mysql.Select(strSql); if (null == dataset || null == dataset.Tables) { ErrorType = (int)JCreateRoleRetObject.CreateRoleResultType.failed; return(false); } if (dataset.Tables.Count > 0 && dataset.Tables[0].Rows.Count > 0) { ErrorType = (int)JCreateRoleRetObject.CreateRoleResultType.RoleNameRepeated; return(false); } } catch (Exception e) { JLog.Error("CheckRoleNameIsValud." + e.Message); return(false); } return(true); }
public void run(IDataSet dataSet) { IStreamObj roleObj = dataSet.getData(JObjectType.create_role); if (null == roleObj) { JLog.Error("JProcessorCreateRole.run roleObj is null."); return; } JCreateRoleReqObject createRoleReqObj = roleObj as JCreateRoleReqObject; if (null == createRoleReqObj) { JLog.Error("JProcessorCreateRole.run createRoleReqObj is null."); return; } try { JNetworkDataOperator.SendDataToServer(JPacketType.pt_createRole_req, createRoleReqObj); JLogicUserData.setLocalData(createRoleReqObj); } catch (Exception e) { JLog.Debug("JProcessorCreateRole 发送数据失败"); JLog.Error("JProcessorCreateRole 发送数据失败 " + e.Message); return; } }
public static bool registerProcessor(JPacketType packetType, IProcesser processor, bool isServerProcessor = false) { if (IsServer && !isServerProcessor || !IsServer && isServerProcessor) { return(true); } bool bSuccess = false; try { _readerWriteLocker.EnterWriteLock(); if (!JLogicRegisteredProcessors.processors.PacketTypeToProcessor.ContainsKey(packetType)) { JLogicRegisteredProcessors.processors.PacketTypeToProcessor.Add(packetType, processor); bSuccess = true; } } catch (Exception e) { JLog.Error("JLogicHelper.RegisterProcessor error message:" + e.Message); } finally { _readerWriteLocker.ExitWriteLock(); } return(bSuccess); }
public void StartServer() { if (null == ServerIP) { Debug.Log("ServerIP is null"); return; } if (null == ServerPort) { Debug.Log("ServerPort is null"); return; } JLog.Info("Server IP:" + ServerIP.text + " ServerPort:" + ServerPort.text); JGameManager.SingleInstance.initialize(true, ServerIP.text, int.Parse(ServerPort.text)); ServerActive = true; JLog.Info("initialize finished"); /*try * { * ServerLogic = new Thread (Logic); * ServerLogic.Start (); * JLog.Info("ServerManager.StartServer logic thread start success."); * } * catch (Exception e) { * JLog.Error ("ServerManager.StartServer error message:"+e.Message); * }*/ }
public void run(IDataSet dataSet) { IStreamObj obj = dataSet.getData(JObjectType.create_role_ret); if (null == obj || null == (obj as JCreateRoleRetObject)) { JLog.Error("JProcesserCreateRoleRet : obj is empty!"); } if ((obj as JCreateRoleRetObject).Result != JCreateRoleRetObject.CreateRoleResultType.successed) { JLog.Info("Received JCreateRoleRetObject create failed:!" + (obj as JCreateRoleRetObject).Result.GetDescription()); } //todo:...remind to regist else if (null != createRole) { IStreamObj createRoleObjTemp = JLogicUserData.getLocalData().getData(JObjectType.create_role); if (null == createRoleObjTemp) { return; } JCreateRoleReqObject createRoleObj = createRoleObjTemp as JCreateRoleReqObject; if (null == createRoleObj) { return; } createRole(createRoleObj.RoleName, createRoleObj.RoleType); } }
public static void MainLoop() { if (null == JClientSocket.socket) { JLog.Error("JClientDataReceiverThread.MainLoop JClientSocket.socket is null, please make sure JClientSocketManager is initialized. ", JGame.Log.JLogCategory.Network); return; } while (true) { if (_requireEnd) { break; } if (JClientSocket.socket.Available <= 0) { Thread.Sleep(100); continue; } byte[] buffer = new byte[JTcpDefines.max_buffer_size]; int recLen = JClientSocket.socket.Receive(buffer); if (recLen > 0) { JNetworkDataOperator.ReceiveData(recLen, buffer, JClientSocket.socket.RemoteEndPoint); } else { //说明socket已经断开连接 } } }
/// <summary> /// Takes the send data. /// </summary> /// <returns>The send data. wait failed will return null</returns> /// <param name="millisecondsTimeout">Milliseconds timeout. <0 wait always</param> public static List <JNetworkData> TakeSendData(int millisecondsTimeout) { if (millisecondsTimeout < 0) { if (!_sendSemaphore.WaitOne()) { return(null); } } else { if (!_sendSemaphore.WaitOne(millisecondsTimeout)) { return(null); } } List <JNetworkData> listData = new List <JNetworkData> (); try{ lock (_sendLocker) { while (JNetworkInteractiveData.SendData.Data.Count > 0) { listData.Add(JNetworkInteractiveData.SendData.Data.Dequeue()); } } } catch (Exception e) { JLog.Error("TakeSendData:" + e.Message, JGame.Log.JLogCategory.Network); } JLog.Debug("JNetworkDataOperator.TakeSendData : take all send data count:" + listData.Count.ToString(), JGame.Log.JLogCategory.Network); return(listData); }
public static List <JNetworkData> TakeReceivedData() { List <JNetworkData> listData = new List <JNetworkData> (); if (!_receivedSemaphore.WaitOne(1)) { return(listData); } try{ lock (_receiveLocker) { JLog.Debug("JNetworkDataOperator.TakeReceivedData : take all received data count:" + JNetworkInteractiveData.ReceivedData.Data.Count.ToString(), JGame.Log.JLogCategory.Network); while (JNetworkInteractiveData.ReceivedData.Data.Count > 0) { listData.Add(JNetworkInteractiveData.ReceivedData.Data.Dequeue()); } } } catch (Exception e) { JLog.Error("TakeSendData:" + e.Message, JGame.Log.JLogCategory.Network); } return(listData); }
/*private byte[] KeepAliveTime * { * get * { * uint dummy = 0; * byte[] inOptionValues = new byte[Marshal.SizeOf(dummy) * 3]; * BitConverter.GetBytes((uint)1).CopyTo(inOptionValues, 0); * BitConverter.GetBytes((uint)5000).CopyTo(inOptionValues, Marshal.SizeOf(dummy)); * BitConverter.GetBytes((uint)5000).CopyTo(inOptionValues, Marshal.SizeOf(dummy) * 2); * return inOptionValues; * } * } * private const int keepAlive = -1744830460; * private byte[] inValue = new byte[] { 1, 0, 0, 0, 0x20, 0x4e, 0, 0, 0xd0, 0x07, 0, 0 }; * byte[] inValue = new byte[] { 1, 0, 0, 0, 0x10, 0x27, 0, 0, 0xe8, 0x03, 0, 0 }; // True, 10秒, 1 秒 * JServerSocket.socket.IOControl(keepAlive, inValue, null); * JServerSocket.socket.IOControl(IOControlCode.KeepAliveValues, inValue, null);*/ public void Initialize(string serverIP, int serverPort) { if (_initialized) { JLog.Error("JServerSocketManager initialized aready !", JGame.Log.JLogCategory.Network); return; } JLog.Info("JServerSocketManager begin to initialize :", JGame.Log.JLogCategory.Network); _socketHeartDelayTime = new Dictionary <Socket, ulong> (); _heartbeatLocker = new object(); JNetworkServerInfo.ServerIP = serverIP; JNetworkServerInfo.ServerPort = serverPort; _socketLocker = new object(); _semaphore = new Semaphore(0, 10000); JNetworkInteractiveData.ReceivedData = new JNetworkDataQueue(); JNetworkInteractiveData.SendData = new JNetworkDataQueue(); IPAddress ip_server = IPAddress.Parse(serverIP); IPEndPoint server_edp = new IPEndPoint(ip_server, serverPort); JServerSocket.socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { JServerSocket.socket.Bind(server_edp); JLog.Info("JServerSocketManager server socket bind to server endpoint finished.\nIP:" + serverIP + "\nPort:" + serverPort.ToString(), JGame.Log.JLogCategory.Network); JServerSocket.socket.Listen(JTcpDefines.max_tcp_connect); JLog.Info("JServerSocketManager server socket begin listen", JGame.Log.JLogCategory.Network); _serverSendThread = new Thread(SendLoop) { IsBackground = true }; _serverSendThread.Start(); _serverReceiveThread = new Thread(ReceiveLoop) { IsBackground = true }; _serverReceiveThread.Start(); _serverAcceptThread = new Thread(AcceptLoop) { IsBackground = true }; _serverAcceptThread.Start(); } catch (Exception e) { JLog.Error("JServerSocketManager initialize faield error message: " + e.Message, JGame.Log.JLogCategory.Network); return; } //start heart beat check _headbeatTimer = new System.Timers.Timer(1000); _headbeatTimer.Elapsed += heatbeatTest; _headbeatTimer.Start(); }
private void AcceptLoop() { JLog.Info("JServerSocketManager server accept loop started", JGame.Log.JLogCategory.Network); while (true) { //JLog.Debug("AcceptLoop loop one begin ...", JGame.Log.JLogCategory.Network); if (_forceEnd) { break; } try { JLog.Debug("JServerSocketManager.AcceptLoop begin to accept", JGame.Log.JLogCategory.Network); Socket currentConnectedSocket = JServerSocket.socket.Accept(); JLog.Debug("JServerSocketManager.AcceptLoop accept finished, to process accepted socket", JGame.Log.JLogCategory.Network); if (null != currentConnectedSocket && currentConnectedSocket.Connected) { lock (_socketLocker) { if (!JConnectedClientSocket.sockets.Contains(currentConnectedSocket)) { JConnectedClientSocket.sockets.Add(currentConnectedSocket); JLog.Info("JServerSocketManager.AcceptLoop client connected :" + (currentConnectedSocket.RemoteEndPoint as IPEndPoint).Address.ToString(), JGame.Log.JLogCategory.Network); _semaphore.Release(); } else { JLog.Info("JServerSocketManager.AcceptLoop connected client connected again" + (currentConnectedSocket.RemoteEndPoint as IPEndPoint).Address.ToString(), JGame.Log.JLogCategory.Network); } } lock (_heartbeatLocker) { if (!_socketHeartDelayTime.ContainsKey(currentConnectedSocket)) { _socketHeartDelayTime.Add(currentConnectedSocket, 0); } } } } catch (Exception e) { JLog.Error("JServerSocketManager accept loop error message:" + e.Message, JGame.Log.JLogCategory.Network); Thread.Sleep(200); } //JLog.Debug("AcceptLoop loop one end ...", JGame.Log.JLogCategory.Network); } JLog.Info("JServerSocketManager server accept loop end.", JGame.Log.JLogCategory.Network); }
public void ShutDown() { _forceEnd = true; try { JServerSocket.socket.Close(); } catch (Exception e) { JLog.Error(e.Message, JGame.Log.JLogCategory.Network); } }
protected bool SendToServer(JObjAccountRegisterReq obj) { try { JNetworkDataOperator.SendDataToServer(JPacketType.npt_accountRegister_req, obj); return(true); } catch (Exception e) { JLog.Debug("发送数据失败"); JLog.Error(e.Message); return(false); } }
protected bool SendToServer(JObj_SignIn obj) { try { JNetworkDataOperator.SendData(JPacketType.npt_signin_req, obj); return(true); } catch (Exception e) { JLog.Debug("发送数据失败"); JLog.Error(e.Message); return(false); } }
public Order updateOrderHeader(T_Order item) { try { return(ConvertToScreenModel.Transactions.order(dao.updateOrderHeader(item))); } catch (Exception ex) { JLog.write(LOG_TYPE.ERROR, LOG_POSITION.BO, this, JLog.GetCurrentMethod(), ex); return(null); } }
internal static void SendData(byte [] data) { JNetworkData newData = new JNetworkData(); newData.Data = data; newData.RemoteEndPoint = new IPEndPoint(IPAddress.Parse(JNetworkServerInfo.ServerIP), JNetworkServerInfo.ServerPort); lock (_sendLocker) { JNetworkInteractiveData.SendData.Data.Enqueue(newData); _sendSemaphore.Release(); } JLog.Debug("JNetworkDataOperator.SendData[byte [] data] : send one data.", JGame.Log.JLogCategory.Network); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); System.Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", JSettings.GoogleCloudStorage.AcountAPIKeyPath); initGGCloudStorage(); JLog.settingLogVariables(ConfigurationManager.AppSettings["logDelimeter"], ConfigurationManager.AppSettings["logPath"], ConfigurationManager.AppSettings["logFileName"]); }
public bool deletePost(Post data) { try { dao.deletePost(data.id); return(true); } catch (Exception ex) { JLog.write(LOG_TYPE.ERROR, LOG_POSITION.BO, this, JLog.GetCurrentMethod(), ex); return(false); } }
public bool deleteProduct(Product item) { try { this.dao.deleteProduct(item.id); return(true); } catch (Exception ex) { JLog.write(LOG_TYPE.ERROR, LOG_POSITION.BO, this, JLog.GetCurrentMethod(), ex); return(false); } }
public void run(IDataSet dataSet) { IStreamObj obj = dataSet.getData(JObjectType.account_register_ret); if (null == obj || null == (obj as JObjAccountRegisterRet)) { JLog.Error("JProcessorAccountRegisterRet : obj is empty!"); } else if (null != registerRetGot) { registerRetGot((obj as JObjAccountRegisterRet).Result); } }
public Order addOrderHeader(Order item) { dao.beginTransaction(); try { string code = "O" + DateTime.Now.ToString("yyyyMMdd"); code += (_countOrderCode(code) + 1).ToString("00#"); T_Order data = new T_Order() { address = item.address, code = code, email = item.email, firstName = item.firstName, lastName = item.lastName, isPay = item.isPay, isShipping = item.isShipping, shippingDateStart = item.shippingDateStart, shippingDateEnd = item.shippingDateEnd, shippingDate = item.shippingDate, orderDate = item.orderDate, payDate = item.payDate, province = item.province, shippingPrice = item.shippingPrice, tel = item.tel, totalPrice = item.totalPrice, totalProductPrice = item.totalProductPrice, zipCode = item.zipCode, isActive = item.isActive, isCreateShipping = item.isCreateShipping, createBy = item.createBy, createDate = DateTime.Now, updateBy = item.updateBy, updateDate = DateTime.Now, isMeetReceive = item.isMeetReceive }; dao.addOrderHeader(data); dao.saveChange(); dao.commit(); return(ConvertToScreenModel.Transactions.order(data)); } catch (Exception ex) { dao.rollback(); JLog.write(LOG_TYPE.ERROR, LOG_POSITION.BO, this, JLog.GetCurrentMethod(), ex); return(null); } }
public static void addData(JPacketType type, IStreamObj obj) { try { JLogicUserData.Data.setData(obj); lock (_locker) { JLocalDataProcessors.Data.Enqueue(type); } _semaphore.Release(); } catch (Exception e) { JLog.Error("JLocalDataHelper: addData " + e.Message); } }
public void CreateRoleButtonClicked() { JCreateRoleReqObject obj = new JCreateRoleReqObject(); //ToDo:检测是否合法 obj.RoleName = RoleName.text; obj.RoleType = CreatePlayerUtil.type; try { JLocalDataHelper.addData(JPacketType.pt_createRole_req, obj); return; } catch (Exception e) { Debug.LogError("发送数据失败"); JLog.Error(e.Message); return; } }
public bool finishShipping(List <Shipping> datas) { try { List <int> ids = datas.Select(m => m.id).ToList(); dao.finishShipping(ids); return(true); } catch (Exception ex) { JLog.write(LOG_TYPE.ERROR, LOG_POSITION.BO, this, JLog.GetCurrentMethod(), ex); return(false); } }
//登录检查 public void ToSendRegisterData() { if (!UserCode1.text.Equals(UserCode2.text)) { JLog.Info("两次密码输入不一致!"); return; } //ToDo:验证用户输入的账号、密码、邮箱合法 JObjAccountRegisterReq obj = new JObjAccountRegisterReq(); obj._strAccount = UserAccount.text; obj._strCode = UserCode1.text; obj._strEmailAddress = UserEmail.text; JLocalDataHelper.addData(JPacketType.npt_accountRegister_req, obj); }