Exemplo n.º 1
0
 public void handleRecv(FFSocket ffsocket, string strData)
 {
     m_strRecvData += strData;
     while (m_strRecvData.Length >= 8)
     {
         byte[] btValue = System.Text.Encoding.UTF8.GetBytes(m_strRecvData);
         size = System.Net.IPAddress.NetworkToHostOrder(BitConverter.ToInt32(btValue, 0));
         cmd  = System.Net.IPAddress.NetworkToHostOrder(BitConverter.ToInt16(btValue, 4));
         flag = System.Net.IPAddress.NetworkToHostOrder(BitConverter.ToInt16(btValue, 6));
         if (m_strRecvData.Length < 8 + size)
         {
             break;
         }
         string strMsg = m_strRecvData.Remove(0, 8);
         if (strMsg.Length == size)
         {
             m_strRecvData = "";
         }
         else
         {
             strMsg        = strMsg.Remove(size);
             m_strRecvData = m_strRecvData.Remove(0, 8 + size);
         }
         m_funcMsgHandler(ffsocket, cmd, strMsg);
     }
 }
Exemplo n.º 2
0
 public void handleMsg(FFSocket ffsocket, Int16 cmd, string strMsg)
 {
     Console.WriteLine("handleMsg....{0}, {1}", cmd, strMsg.Length);
     if (cmd == 3)
     {
         FFNet.decodeMsg(m_brokerData, strMsg);
         Console.WriteLine("handleMsg....{0}, {1}", m_brokerData.Node_id, m_brokerData.Register_flag);
         if (m_brokerData.Register_flag == 1)
         {
             m_nNodeID = m_brokerData.Node_id;//! -1表示注册失败,0表示同步消息,1表示注册成功
         }
     }
 }
Exemplo n.º 3
0
        public bool connectToBroker()
        {
            m_socketBroker = FFNet.connect(m_strBrokerIP, m_nBrokerPort, new SocketMsgHandler(handleMsg), new SocketBrokenHandler(handleBroken));
            if (null == m_socketBroker)
            {
                return(false);
            }
            RegisterToBrokerReq reqMsg = new RegisterToBrokerReq();

            reqMsg.Node_type    = 2;
            reqMsg.Service_name = m_strServiceName;

            FFNet.sendMsg(m_socketBroker, 2, reqMsg);
            return(true);
        }
Exemplo n.º 4
0
        public static void sendMsg(FFSocket ffsocket, Int16 cmd, string strData)
        {
            int len = strData.Length;

            len = System.Net.IPAddress.HostToNetworkOrder(len);
            cmd = System.Net.IPAddress.HostToNetworkOrder(cmd);
            byte[] lenArray = BitConverter.GetBytes(len);
            byte[] cmdArray = BitConverter.GetBytes(cmd);
            byte[] resArray = new byte[2] {
                0, 0
            };
            string strRet = System.Text.Encoding.UTF8.GetString(lenArray, 0, lenArray.Length);

            //Console.WriteLine("sendMsg {0}, {1}", strRet.Length, strData.Length);
            strRet += System.Text.Encoding.UTF8.GetString(cmdArray, 0, cmdArray.Length);
            //Console.WriteLine("sendMsg {0}, {1}", strRet.Length, strData.Length);
            strRet += System.Text.Encoding.UTF8.GetString(resArray, 0, resArray.Length);
            //Console.WriteLine("sendMsg {0}, {1}", strRet.Length, strData.Length);
            strRet += strData;
            ffsocket.asyncSend(strRet);
        }
Exemplo n.º 5
0
 public void handleBroken(FFSocket ffsocket)
 {
     m_funcBroken(ffsocket);
 }
Exemplo n.º 6
0
        public static void sendMsg <T>(FFSocket ffsocket, Int16 cmd, T reqMsg) where T : Thrift.Protocol.TBase
        {
            string strData = encodeMsg <T>(reqMsg);

            sendMsg(ffsocket, cmd, strData);
        }
Exemplo n.º 7
0
 public void handleBroken(FFSocket ffsocket)
 {
 }
Exemplo n.º 8
0
 public static void onBroken2(FFSocket ffsocket)
 {
     WriteLine("onBroken2....");
 }
Exemplo n.º 9
0
 public static void onRecv2(FFSocket ffsocket, Int16 cmd, string strData)
 {
     Console.WriteLine("onRecv2....{0}, {1}", strData, cmd);
 }
Exemplo n.º 10
0
 public static void onRecv(FFSocket ffsocket, Int16 cmd, string strData)
 {
     Console.WriteLine("onRecv....{0}, {1}", strData, cmd);
     FFNet.sendMsg(ffsocket, cmd, strData);
 }