コード例 #1
0
    public static void OnQuery(Message msg)
    {
        var result = msg.jsonObj;

        if (Convert.ToInt32(result["code"]) == 200)
        {
            pomeloClient.Disconnect();

            string host = (string)result["host"];
            int    port = Convert.ToInt32(result["port"]);
            pomeloClient = new PomeloClient();

            pomeloClient.On(PomeloClient.DisconnectEvent, jsonObj =>
            {
                Console.WriteLine(pomeloClient.netWorkState);
            });

            pomeloClient.InitClient(host, port, jsonObj =>
            {
                pomeloClient.Connect(null, (data) =>
                {
                    //MessageObject userMessage = new MessageObject();
                    Console.WriteLine("on connect to connector!");

                    //Login
                    MessageObject enterMsg = new MessageObject();
                    enterMsg["userName"]   = "******";
                    enterMsg["rid"]        = "pomelo";

                    pomeloClient.Request("connector.entryHandler.enter", enterMsg, OnEnter);
                });
            });
        }
    }
コード例 #2
0
    private void Connect()
    {
        itsClient = new PomeloClient(itsURL, itsPort);

        //The user data is the handshake user params
        //JsonObject user = new JsonObject();
        //user.Add(new KeyValuePair<string,object>("user","flo"));
        itsClient.Connect(null, new System.Action <JSONNode>(OnConnection));
    }
コード例 #3
0
    public static void loginTest(string host, int port)
    {
        pomeloClient = new PomeloClient();

        //listen on network state changed event
        pomeloClient.On(PomeloClient.DisconnectEvent, jsonObj =>
        {
            Console.WriteLine("CurrentState is:" + pomeloClient.netWorkState);
        });

        pomeloClient.InitClient(host, port, jsonObj =>
        {
            pomeloClient.Connect(null, data =>
            {
                Console.WriteLine("on data back" + data.ToString());
                MessageObject msg = new MessageObject();
                msg["uid"]        = 111;
                pomeloClient.Request("gate.gateHandler.queryEntry", msg, OnQuery);
            });
        });
    }
コード例 #4
0
    //TODO TLS "C7773B9D1BF0C5C956C88C60440FA23C3889A403"
    public bool ConnectServer(string host, int port,
                              ClientProtocolType eProtoType = ClientProtocolType.NORMAL,
                              string HandShakeCache         = "",
                              byte[] clientcert             = null, string clientpwd = "", string cathumbprint = null)
    {
        //if (eProtoType == ClientProtocolType.TLS)
        //{
        //    if (clientcert == null || cathumbprint == null)
        //    {
        //        return false;
        //    }
        //}

        //this.CloseClient();
        pc = new PomeloClient(eProtoType, clientcert, "", cathumbprint);
        pc.Connect(host, port, HandShakeCache, delegate()
        {
            if (pc.IsConnected)
            {
                this.UpdateClient();
                pc.HandShake(null, delegate(JsonData data)
                {
                    if (this.connectEvent != null)
                    {
                        this.connectEvent();
                    }
                });
            }
        },
                   delegate()
        {
            if (this.closeEvent != null)
            {
                this.closeEvent();
            }
        }
                   );

        return(true);
    }
コード例 #5
0
    //Login the chat application and new PomeloClient.
    public void Connect()
    {
        if (pomeloClient.netWorkState != enNetWorkState.Disconnected)
        {
            return;
        }

        int port = 3014;

        pomeloClient.InitClient(IPInput.text, port, msgObj =>
        {
            //The user data is the handshake user params
            MessageObject user = new MessageObject();
            pomeloClient.Connect(user, data =>
            {
                //process handshake call back data
                MessageObject msg = new MessageObject();
                msg["uid"]        = NameInput.text;
                msg["pwd"]        = PasswordInput.text;
                pomeloClient.Request("gate.gateHandler.login", msg, _onResponseRet);
            });
        });
    }
コード例 #6
0
        void Start()
        {
            const string logFile = "/tmp/cspomelo.log";

            if (InitLog(logFile) != 0)
            {
                DLog("error open log file : " + logFile);
            }

            PomeloClient.Log = DLog;
            PomeloClient.LibInit(PomeloClient.PC_LOG_DEBUG, null, null);

            client = new PomeloClient();
            if (!client.Init(false, false))
            {
                DLog("client init has occur a fatal error");
                return;
            }
            DLog("client inited");

            client.OnConnectSuccess += OnConnect;
            client.OnConnectSuccess += () => {
                DLog("client connected");
            };
            client.OnConnectFail += (msg) => {
                DLog("client connect fail : " + msg);
            };
            client.OnDisconnect += OnDisconnect;
            client.OnDisconnect += (msg) => {
                DLog("client disconnected : " + msg);
            };
            client.OnError += (err) => {
                DLog("client occur an error : " + err);
            };
            client.Connect(ServerHost(), ServerPort());
        }
コード例 #7
0
 void OnDisconnect(string msg)
 {
     DLog("client prepare to reconnect");
     client.OnConnectSuccess += OnConnect;
     client.Connect(ServerHost(), ServerPort());
 }
コード例 #8
0
ファイル: Test.cs プロジェクト: stammen/libpomelo2
        void Start()
        {
            const string logFile= "/tmp/cspomelo.log";
            if(InitLog(logFile) != 0)
            {
                DLog("error open log file : " + logFile);
            }

            PomeloClient.Log = DLog;
            PomeloClient.LibInit(PomeloClient.PC_LOG_DEBUG, null, null);

            client = new PomeloClient();
            if(! client.Init(false, false))
            {
                DLog("client init has occur a fatal error");
                return;
            }
            DLog("client inited");

            client.OnConnectSuccess += OnConnect;
            client.OnConnectSuccess += ()=>{
                DLog("client connected");
            };
            client.OnConnectFail += (msg)=>{
                DLog("client connect fail : " + msg);
            };
            client.OnDisconnect += OnDisconnect;
            client.OnDisconnect += (msg)=>{
                DLog("client disconnected : " + msg);
            };
            client.OnError += (err)=>{
                DLog("client occur an error : " + err);
            };
            client.Connect(ServerHost(), ServerPort());
        }