Ejemplo n.º 1
0
 /// <summary>
 /// 触发文件传输成功联接到服务器事件
 /// </summary>
 protected virtual void OnTransmitConnected(ConnectedType connectedType)
 {
     if (TransmitConnected != null)
     {
         TransmitConnected(this, connectedType);
     }
 }
 private void UpdateClientListControl()
 {
     if (InvokeRequired)
     {
         ConnectedType.BeginInvoke(new UpdateClientListCallback(UpdateClientList), null);
     }
     else
     {
         UpdateClientList();
     }
 }
Ejemplo n.º 3
0
 private void bResetPassword_Click(object sender, System.EventArgs e)
 {
     try
     {
         rtbResetPasswordResult.Text = ConnectedType.InvokeMember("ResetPassword", System.Reflection.BindingFlags.InvokeMethod, null, ConnectedClass, new object[] { rtbAdminUserName.Text, rtbResetUserName.Text }).ToString();
         MessageBox.Show(this, "ResetPassword() completed successfully.");
     }
     catch (Exception exc)
     {
         MessageBox.Show(this, exc.ToString(), "Error calling ResetPassword()", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Ejemplo n.º 4
0
 private void bEstablishCredentials_Click(object sender, System.EventArgs e)
 {
     try
     {
         rtbEstablishCredentialsResult.Text = ConnectedType.InvokeMember("EstablishCredentials", System.Reflection.BindingFlags.InvokeMethod, null, ConnectedClass, new object[] { rtbEstablishCredentials.Text }).ToString();
         MessageBox.Show(this, "EstablishCredentials() completed successfully.");
     }
     catch (Exception exc)
     {
         MessageBox.Show(this, exc.ToString(), "Error calling EstablishCredentials()", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Ejemplo n.º 5
0
 private void bCreateDocument2Run_Click(object sender, System.EventArgs e)
 {
     try
     {
         tCreateDocument2Result.Text = ConnectedType.InvokeMember("CreateDocument2", System.Reflection.BindingFlags.InvokeMethod, null, ConnectedClass, new object[] { tCreateDocument2Input.Text }).ToString();
         MessageBox.Show(this, "CreateDocument2() completed successfully.");
     }
     catch (Exception exc)
     {
         MessageBox.Show(this, exc.ToString(), "Error calling CreateDocument2()", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
 private void bIs_EditableRun_Click(object sender, System.EventArgs e)
 {
     try
     {
         rtResult2.Text = ConnectedType.InvokeMember("Is_Editable", System.Reflection.BindingFlags.InvokeMethod, null, ConnectedClass, new object[] { tExtension2.Text }).ToString();
         MessageBox.Show(this, "Is_Editable() completed successfully.");
     }
     catch (Exception exc)
     {
         MessageBox.Show(this, exc.ToString(), "Error calling Is_Editable()", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
 private void button1_Click(object sender, System.EventArgs e)
 {
     try
     {
         System.IO.BinaryReader br = new System.IO.BinaryReader(System.IO.File.OpenRead(tRenderFile.Text));
         byte[] srcdata            = br.ReadBytes((int)br.BaseStream.Length);
         br.Close();
         Type[] types = new Type[5];
         types[0] = typeof(byte[]);
         types[1] = typeof(string);
         types[2] = typeof(int);
         types[3] = typeof(int);
         types[4] = Type.GetType("System.String&");
         object[] parm = new object[5];
         parm[0] = srcdata;
         parm[1] = System.IO.Path.GetExtension(tRenderFile.Text);
         parm[2] = Int32.Parse(tRenderWidth.Text);
         parm[3] = Int32.Parse(tRenderHeight.Text);
         parm[4] = tRenderExtension.Text;
         System.Reflection.MethodInfo mi = ConnectedType.GetMethod("Render", types);
         byte[] bmpdata            = (byte[])mi.Invoke(ConnectedClass, parm);
         System.IO.MemoryStream ms = new System.IO.MemoryStream();
         ms.Write(bmpdata, 0, bmpdata.Length);
         ms.Position = 0;
         Image bmp = Bitmap.FromStream(ms);
         pRenderResult.Image   = bmp;
         pRenderResult.Width   = bmp.Width;
         pRenderResult.Height  = bmp.Height;
         tRenderExtension.Text = (string)parm[4];
         MessageBox.Show(this, "Render() completed successfully.");
     }
     catch (Exception exc)
     {
         MessageBox.Show(this, exc.ToString(), "Error calling Render()", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Ejemplo n.º 8
0
 /// <summary>
 /// 触发文件传输成功联接到服务器事件
 /// </summary>
 protected virtual void OnTransmitConnected(ConnectedType connectedType)
 {
     if (TransmitConnected != null)
         TransmitConnected(this, connectedType);
 }
Ejemplo n.º 9
0
        /// <summary>
        /// 设置远程主机信息
        /// </summary>
        /// <param name="remoteIP">远程主机(广域网)</param>
        /// <param name="remoteLocalIP">远程主机(局域网)</param>
        public void setRemoteIP(IPEndPoint remoteLocalIP, IPEndPoint remoteIP)
        {
            #region 网络打洞互联 时间计数器
            int TimeCount = 0;
            System.Timers.Timer timer1 = new System.Timers.Timer();
            timer1.Interval = 500;
            timer1.Enabled  = true;

            timer1.Elapsed += delegate(object sender, System.Timers.ElapsedEventArgs e)
            {
                TimeCount++;

                if (toEP == null && TimeCount <= 20)//如果10秒后还未与对方建立联接
                {
                    UDPFramePacket packet = new UDPFramePacket();
                    packet.type  = (byte)TransmitType.Penetrate;//打洞数据包
                    packet.Block = new byte[1400];
                    if (sockUDP != null && sockUDP.Listened)
                    {
                        sockUDP.Send(remoteLocalIP, packet.ToBytes());//发送一次局域网正常打洞请求
                    }
                    UDPFramePacket packet1 = new UDPFramePacket();
                    packet1.type  = (byte)TransmitType.Penetrate;//打洞数据包
                    packet1.Block = new byte[512];
                    if (sockUDP != null && sockUDP.Listened)
                    {
                        sockUDP.Send(remoteLocalIP, packet1.ToBytes());//发送一次局域网小包打洞请求
                    }
                    UDPFramePacket packet2 = new UDPFramePacket();
                    packet2.type  = (byte)TransmitType.Penetrate;//打洞数据包
                    packet2.Block = new byte[1400];
                    if (sockUDP != null && sockUDP.Listened)
                    {
                        sockUDP.Send(remoteIP, packet2.ToBytes());//发送一次广域网打洞请求
                    }
                    UDPFramePacket packet3 = new UDPFramePacket();
                    packet3.type  = (byte)TransmitType.Penetrate;//打洞数据包
                    packet3.Block = new byte[512];
                    if (sockUDP != null && sockUDP.Listened)
                    {
                        sockUDP.Send(remoteIP, packet3.ToBytes());//发送一次广域网小包打洞请求
                    }
                }
                else
                {
                    //终止发送,并触发获得主机事件
                    timer1.Enabled = false;
                    timer1.Dispose();
                    timer1 = null;
                    if (toEP != null)//如果已与对方打洞成功并建立连接
                    {
                        if (TimeCount <= 10)
                        {
                            connectedType = ConnectedType.UDPLocal;//标明是局域网连接
                            Console.WriteLine("局域网打洞成功,MTU=" + mtu.ToString() + ",打洞次数:" + TimeCount.ToString());
                        }
                        else
                        {
                            connectedType = ConnectedType.UDPRemote;//标明是广域网连接
                            Console.WriteLine("广域网打洞成功,MTU=" + mtu.ToString() + ",打洞次数:" + TimeCount.ToString());
                        }
                    }
                    else//打洞超时,数据只能通过服务器中转
                    {
                        Console.WriteLine("局域网打洞不成功,打洞次数::" + TimeCount.ToString());
                        mtu  = 1400;
                        toEP = remoteIP;//将对方的广域网远程主机信息记录下来
                    }

                    OnTransmitConnected();//触发连接建立事件
                }
            };
            #endregion
        }
Ejemplo n.º 10
0
 void AVC_TransmitConnected(object sender, ConnectedType connectedType)
 {
     Console.WriteLine("已经联接:" + connectedType.ToString());
 }
Ejemplo n.º 11
0
        /// <summary>
        /// 设置远程主机信息
        /// </summary>
        /// <param name="remoteIP">远程主机(广域网)</param>
        /// <param name="remoteLocalIP">远程主机(局域网)</param>
        public void setRemoteIP(IPEndPoint remoteLocalIP, IPEndPoint remoteIP)
        {

            #region 网络打洞互联 时间计数器
            int TimeCount = 0;
            System.Timers.Timer timer1 = new System.Timers.Timer();
            timer1.Interval = 500;
            timer1.Enabled = true;

            timer1.Elapsed += delegate(object sender, System.Timers.ElapsedEventArgs e)
            {
                TimeCount++;

                if (toEP == null && TimeCount <= 20)//如果10秒后还未与对方建立联接
                {
                    UDPFramePacket packet = new UDPFramePacket();
                    packet.type = (byte)TransmitType.Penetrate;//打洞数据包
                    packet.Block = new byte[1400];
                    if (sockUDP != null && sockUDP.Listened)
                        sockUDP.Send(remoteLocalIP, packet.ToBytes());//发送一次局域网正常打洞请求

                    UDPFramePacket packet1 = new UDPFramePacket();
                    packet1.type = (byte)TransmitType.Penetrate;//打洞数据包
                    packet1.Block = new byte[512];
                    if (sockUDP != null && sockUDP.Listened)
                        sockUDP.Send(remoteLocalIP, packet1.ToBytes());//发送一次局域网小包打洞请求

                    UDPFramePacket packet2 = new UDPFramePacket();
                    packet2.type = (byte)TransmitType.Penetrate;//打洞数据包
                    packet2.Block = new byte[1400];
                    if (sockUDP != null && sockUDP.Listened)
                        sockUDP.Send(remoteIP, packet2.ToBytes());//发送一次广域网打洞请求

                    UDPFramePacket packet3 = new UDPFramePacket();
                    packet3.type = (byte)TransmitType.Penetrate;//打洞数据包
                    packet3.Block = new byte[512];
                    if (sockUDP != null && sockUDP.Listened)
                        sockUDP.Send(remoteIP, packet3.ToBytes());//发送一次广域网小包打洞请求
                }
                else
                {
                    //终止发送,并触发获得主机事件
                    timer1.Enabled = false;
                    timer1.Dispose();
                    timer1 = null;
                    if (toEP != null)//如果已与对方打洞成功并建立连接
                    {
                        if (TimeCount <= 10)
                        {
                            connectedType = ConnectedType.UDPLocal;//标明是局域网连接
                            Console.WriteLine("局域网打洞成功,MTU=" + mtu.ToString() + ",打洞次数:" + TimeCount.ToString());
                        }
                        else
                        {
                            connectedType = ConnectedType.UDPRemote;//标明是广域网连接
                            Console.WriteLine("广域网打洞成功,MTU=" + mtu.ToString() + ",打洞次数:" + TimeCount.ToString());
                        }
                    }
                    else//打洞超时,数据只能通过服务器中转
                    {
                        Console.WriteLine("局域网打洞不成功,打洞次数::" + TimeCount.ToString());
                        mtu = 1400;
                        toEP = remoteIP;//将对方的广域网远程主机信息记录下来
                    }

                    OnTransmitConnected();//触发连接建立事件
                }
            };
            #endregion
        }
Ejemplo n.º 12
0
 void AVC_TransmitConnected(object sender, ConnectedType connectedType)
 {
     Console.WriteLine("已经联接:" + connectedType.ToString());
 }