/// <summary> /// Do this when transfering to different server. /// /// For instance: /// Login Server -> Channel Server /// </summary> /// <param name="hostname"> Host name </param> /// <param name="port"> Port Number </param> /// <param name="force"> force to switch server? (Default : false) </param> /// <param name="handler"> handler handle packet income. </param> public void SwitchServer( string hostname, int port, bool force, JCS_ClientHandler handler) { if (instance.HOST_NAME == hostname && instance.PORT == port && handler == null) { JCS_Debug.LogError( "Not need to switch server, we already in...."); return; } // update hostname, port, and handler. instance.HOST_NAME = hostname; instance.PORT = port; if (handler != null) { PresetClientHandler(handler); } // start switching server. ON_SWITCH_SERVER = true; FORCE_SWITCH_SERVER = force; }
//----------------------------------------- // functions //----------------------------------------- public JCS_TCPGameSocket(JCS_ClientHandler handler = null) { if (handler != null) SetHandler(handler); else SetHandler(new JCS_DefaultClientHandler()); }
//----------------------------------------- // functions //----------------------------------------- public JCS_UDPGameSocket(JCS_ClientHandler handler = null) { if (handler != null) { SetHandler(handler); } else { SetHandler(new JCS_DefaultClientHandler()); } }
/// <returns></returns> /// /// <summary> /// Create the socket and connect to the host and /// port provided. /// </summary> /// <param name="hostname"> host name </param> /// <param name="port"> port number </param> /// <param name="handler"></param> /// <returns> Sucess or vice versa. </returns> public static bool CreateNetwork(string hostname, int port, JCS_ClientHandler handler) { if (GAME_SOCKET != null) { return(false); } if (instance.PROTOCAL_TYPE == JCS_ProtocalType.TCP) { GAME_SOCKET = new JCS_TCPGameSocket(handler); GAME_SOCKET.Connect(hostname, port); } else if (instance.PROTOCAL_TYPE == JCS_ProtocalType.UDP) { GAME_SOCKET = new JCS_UDPGameSocket(handler); GAME_SOCKET.Connect(hostname, port); } return(true); }
/// <summary> /// Set the client handler. /// </summary> /// <param name="handler"> handler. </param> public void SetHandler(JCS_ClientHandler handler) { this.mClientHandler = handler; }
/* Setter & Getter */ public static void PresetClientHandler(JCS_ClientHandler handler) { PRESET_CLIENT_HANDLER = handler; }