Esempio n. 1
0
    //发送协议数据到服务器
    public static void SendData <T>(int dest, int cmd, T instance) where T : global::ProtoBuf.IExtensible
    {
#if UNITY_EDITOR
        Debug.Log("要发送协议:dest=" + dest + ",cmd=" + cmd);
#endif

        //byte[] body = PBParseManage.getSerialize<T>(instance);
        //CMsg _nnn = new CMsg();
        //_nnn.dest = dest;
        //_nnn.cmd = cmd;
        //if (body != null && body.Length > 0)
        //{
        //    _nnn.body = body;
        //}

        ////放在消息队列里面发
        //SendPBMsg smsg = new SendPBMsg();
        //smsg.dest = dest;
        //smsg.cmd = cmd;
        //smsg.sendBody = PBParseManage.getSerialize<CMsg>(_nnn);

        //sendMemory.Add(smsg);


        SendDataStruct data = new SendDataStruct();
        data.dest     = dest;
        data.cmd      = cmd;
        data.instance = instance;

        IProtocolFactory factory = new ProtocolFactory();
        factory.createProtocolType1().SerializeData(data);
    }
Esempio n. 2
0
    public void SerializeData(SendDataStruct data)
    {
        MemoryStream memStream = new MemoryStream();

        ProtoBuf.Serializer.Serialize(memStream, data.instance);

        byte[] body = memStream.ToArray();
        CMsg   msg  = new CMsg();

        msg.dest = data.dest;
        msg.cmd  = data.cmd;
        if (body != null && body.Length > 0)
        {
            msg.body = body;
        }

        //放在消息队列里面发
        MessageStruct smsg = new MessageStruct();

        smsg.dest = data.dest;
        smsg.cmd  = data.cmd;
        smsg.body = (byte[])Serialize(msg);

        SendreceiveManage.getInstance().PushSendData(smsg);
    }
Esempio n. 3
0
    public void SerializeData(SendDataStruct data)
    {
        MemoryStream memStream = new MemoryStream();

        ProtoBuf.Serializer.Serialize(memStream, data.instance);

        byte[] body = memStream.ToArray();
        CMsg   _nnn = new CMsg();

        _nnn.dest = data.dest;
        _nnn.cmd  = data.cmd;
        if (body != null && body.Length > 0)
        {
            _nnn.body = body;
        }

        //放在消息队列里面发
        messageStruct smsg = new messageStruct();

        smsg.dest = data.dest;
        smsg.cmd  = data.cmd;
        smsg.body = PBParseManage.getSerialize <CMsg>(_nnn);

        NetWorkManage.getInstance().PushSendDataQueue(smsg);
    }
Esempio n. 4
0
    public static void SendData(SendDataStruct data)
    {
        IProtocolFactory factory = new ProtocolFactory();

        factory.createProtocolType1().SerializeData(data);
        //GDDirector.getInstance().getCurrentFactory().createProtocolType1().SerializeData(data);
    }
Esempio n. 5
0
    void OnGUI()
    {
        if (GUI.Button(new Rect(10, 10, 100, 50), "连接测试"))
        {
            Debug.Log("开始连接");

            string ip   = "192.168.0.43";
            int    port = 6000;

            NetWorkManage s_NetWorkManage = NetWorkManage.getInstance();
            s_NetWorkManage.setHostPort(ip, port);
            if (!s_NetWorkManage.Connect())
            {
                Debug.Log("服务器连接失败,请检查网络!");
                return;
            }
        }

        if (GUI.Button(new Rect(150, 10, 100, 50), "登陆"))
        {
            //登录请求
            Debug.Log("登录请求");

            Msg_2_2 msg = new Msg_2_2();
            msg.aid    = "Test02"; //先写死角色名
            msg.zoneId = 1;        //先写死1

            SendDataStruct data = new SendDataStruct();
            data.cmd      = 2;
            data.dest     = 2;
            data.instance = msg;

            //NetWorkManage.SendData(2, 2, msg);
            NetWorkManage.SendData(data);
        }

        if (GUI.Button(new Rect(350, 10, 100, 50), "login"))
        {
            //登录请求
            Debug.Log("login界面");
            GameObject obj = UILayerManage.getInstance().CreateRoot("UILogin", "UILogin");
        }

        if (GUI.Button(new Rect(500, 10, 100, 50), "抽象工厂模式"))
        {
            IProtocolFactory factory = new ProtocolFactory();

            factory.createProtocolType1().DeserializeData(null);
            factory.createProtocolType2().DeserializeData(null);
        }
    }
Esempio n. 6
0
    public void preFireBnt(GameObject obj)
    {
        if ("netBnt" == obj.name)
        {
            Msg_2_2 msg = new Msg_2_2();
            msg.aid    = "Test02"; //先写死角色名
            msg.zoneId = 1;        //先写死1

            SendDataStruct data = new SendDataStruct(2, 2, msg);

            NetWorkManage.SendData(data);
        }
        else
        {
            UILayerManage.getInstance().RemoveLayer(gameObject);
        }
    }
Esempio n. 7
0
        static void Main(string[] args)
        {
            StringDictionary sd = new StringDictionary();

            sd.Add("key", "value");
            sd.Add("key2", "value");
            foreach (var kv in sd)
            {
                kv.ToString();
            }

            Console.ReadLine();
            SendDataStruct oStruct = new SendDataStruct();

            oStruct.dwData = (IntPtr)61181; oStruct.strData = "TheString";
            oStruct.cbData = Encoding.Unicode.GetBytes(oStruct.strData).Length;
            //IntPtr hWnd = FindWindow(null, "Fiddler - HTTP Debugging Proxy");
            IntPtr hWnd = FindWindow(null, "Progress Telerik Fiddler Web Debugger");

            Console.WriteLine("Fiddler Ptr :" + hWnd);
            Console.WriteLine("SendWMCopyMessage return :" + SendWMCopyMessage(hWnd, WM_COPYDATA, IntPtr.Zero, ref oStruct));
            Console.ReadLine();
        }
Esempio n. 8
0
 public void SerializeData(SendDataStruct data)
 {
     Debug.Log("SerializeData");
 }
Esempio n. 9
0
    public static void SendData(SendDataStruct data)
    {
        IProtocolFactory factory = new ProtocolFactory();

        factory.createProtocolType1().SerializeData(data);
    }
Esempio n. 10
0
 internal static extern IntPtr SendWMCopyMessage(IntPtr hWnd, int Msg, IntPtr wParam, ref SendDataStruct lParam);
Esempio n. 11
0
 internal static extern IntPtr SendWMCopyMessage(IntPtr hWnd, int Msg, IntPtr wParam, ref SendDataStruct lParam);
Esempio n. 12
0
 //发送数据给服务端
 public static void SendData(SendDataStruct data)
 {
     CurrProtocolManage.getInstance().SerializeData(data);
 }