/// <summary>
        /// 读取WeavePortTypeEnum类型后,初始化 new WeaveP2Server("127.0.0.1"),并添加端口;
        /// </summary>
        /// <param name="WeaveServerPort"></param>
        public void StartServer(WeaveServerPort _ServerPort)
        {
            // WeaveTcpToken weaveTcpToken = new WeaveTcpToken();

            P2Server = new WeaveP2Server("127.0.0.1");

            P2Server.waveReceiveEvent           += P2ServerReceiveHander;
            P2Server.weaveUpdateSocketListEvent += P2ServerUpdateSocketHander;
            P2Server.weaveDeleteSocketListEvent += P2ServerDeleteSocketHander;
            //   p2psev.NATthroughevent += tcp_NATthroughevent;//p2p事件,不需要使用
            P2Server.Start(_ServerPort.Port);      //myI.Parameter[4]是端口号

            TcpToken.PortType = _ServerPort.PortType;
            TcpToken.P2Server = P2Server;
            TcpToken.IsToken  = _ServerPort.IsToken;
            TcpToken.WPTE     = _ServerPort.PortType;

            // TcpToken = weaveTcpToken;

            // P2Server = p2psev;
        }
Exemple #2
0
        private void button2_Click(object sender, EventArgs e)
        {
            WeaveServerPort sp = new WeaveServerPort();

            if (checkBox1.Checked)
            {
                sp.IsToken = true;
            }
            sp.Port = Convert.ToInt32(txt_port.Text);
            if (radioButton2.Checked)
            {
                sp.PortType = WeavePortTypeEnum.Web;
                //sp.Certificate = new System.Security.Cryptography.X509Certificates.X509Certificate2(); 如果需要wss证书连接
                listBox1.Items.Add("WEB端口" + sp.Port);
            }
            else if (radioButton3.Checked)
            {
                sp.PortType = WeavePortTypeEnum.Http;

                listBox1.Items.Add("HTTP端口" + sp.Port);
            }
            else if (radioButton4.Checked)
            {
                sp.PortType = WeavePortTypeEnum.Bytes;
                Assembly[] abs = AppDomain.CurrentDomain.GetAssemblies();
                foreach (Assembly ab in abs)
                {
                    Type[] types = ab.GetExportedTypes();
                    foreach (Type t in types)
                    {
                        try
                        {
                            if (t.FullName == textBox1.Text)
                            {
                                sp.BytesDataparsing = ab.CreateInstance(textBox1.Text) as IDataparsing;
                            }
                        }
                        catch (Exception ex)
                        { throw ex; }
                    }
                }
            }
            else if (radioButton5.Checked)
            {
                sp.PortType = WeavePortTypeEnum.udpBytes;
                Assembly[] abs = AppDomain.CurrentDomain.GetAssemblies();
                foreach (Assembly ab in abs)
                {
                    Type[] types = ab.GetExportedTypes();
                    foreach (Type t in types)
                    {
                        try
                        {
                            if (t.FullName == textBox1.Text)
                            {
                                sp.BytesDataparsing = ab.CreateInstance(textBox1.Text) as IDataparsing;
                            }
                        }
                        catch (Exception ex)
                        { throw ex; }
                    }
                }
                listBox1.Items.Add("udpBytes端口" + sp.Port);
            }
            else if (radioButton6.Checked)
            {
                sp.PortType = WeavePortTypeEnum.jsonudp;
                listBox1.Items.Add("jsonudp端口" + sp.Port);
            }
            else
            {
                sp.PortType = WeavePortTypeEnum.Json;
                listBox1.Items.Add("json端口" + sp.Port);
            }
            listsp.Add(sp);
            panel2.Visible = false;
        }