/// <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());
 }
예제 #3
0
 //-----------------------------------------
 // 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;
        }