⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 8583包打包解包小应用
💻 CS
📖 第 1 页 / 共 2 页
字号:
           richTextBox1.Text += System.BitConverter.ToString(b_msg)+"\r\n";
           //for (int i = 0; i < b_msg.Length; i++) 
              //richTextBox1.Text += b_msg[i].ToString("X2");
          
 
        }

        private void button2_Click(object sender, EventArgs e)
        {
            char c = '1';
            byte lbit = (byte)c;
            byte[] tmp_msg;
            My8583 test8583;
          
            byte[] tpdu={0x60,0x00,0x30,0x00,0x00};
            int len = tpdu.Length;
            byte[] cd = new byte[2];
            cd[0] = (byte)((len / 256) % 256);
            cd[1] = (byte)(len % 256);
        
            //richTextBox1.Text = BitMap.Length.ToString();
            //richTextBox1.Text = lbit.ToString("X");
            //richTextBox1.Text += "len:" + len.ToString() + cd[0].ToString("X2") + cd[1].ToString("X2") + "con:" + "\r\n";
            //richTextBox1.Text = System.BitConverter.ToString(tpdu);
            //foreach (byte i in tpdu)
                //richTextBox1.Text += i.ToString("X2");
            test8583 = new My8583();
            test8583.InitTab();
            tmp_msg = test8583.TestPack8583("0200");
            richTextBox1.Text = System.BitConverter.ToString(tmp_msg);
       

        }

        private void button3_Click(object sender, EventArgs e)
        {
            richTextBox1.Clear();
            //richTextBox1.Text += System.BitConverter.ToString(b_msg) + "\r\n";
            unpk8583= new My8583();
            /**InitTba是必须的,否则无法赋值**/
            unpk8583.InitTab();
            unpk8583.UnPack8583(b_msg);
            richTextBox1.Text += unpk8583.gettabx_data(0)+"\r\n";
            richTextBox1.Text +=unpk8583.gettabx_data(1)+unpk8583.gettabx_data(3)+unpk8583.gettabx_data(10)+"\r\n";
            richTextBox1.Text += "unpack8583 is ok!!!\r\n";

        }

        /***催发监听时间****/
        private void button5_Click(object sender, EventArgs e)
        {
            ServerIp = GetServerIP();
            IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });
            ServerIp = ip;
            tcpl = new TcpListener(ip, listenport);
            tcpl.Start();
            richTextBox1.Text += "正在监听" + string.Format("{0}:{1}\r\n", ServerIp.ToString(), listenport.ToString());
            th = new Thread(new ThreadStart(Listen));
            th.IsBackground = true;
            th.Start();
            button5.Enabled = false;
            button6.Enabled = true;
        }

        private void button6_Click(object sender, EventArgs e)
        {
            Stop();
            button5.Enabled = true;
            button6.Enabled = false;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Send();
        }

        private void button7_Click(object sender, EventArgs e)
        {
            try
            {
                tcpc = new TcpClient(textBox3.Text, Int32.Parse(textBox4.Text));
                tcpStream = tcpc.GetStream();
                richTextBox2.Clear();
                button7.Enabled = false;
                button8.Enabled = true;
                richTextBox2.Text = "目标计算机连接到服务器!";
               
            }
            catch (Exception)
            {
               richTextBox2.Text = "目标计算机拒绝连接请求!";
            }
        }

        private void button8_Click(object sender, EventArgs e)
        {
            tcpStream.Dispose();
            tcpc.Close();
            richTextBox2.Text = "断开服务端连接!";
            button7.Enabled = true;
            button8.Enabled = false;
            
        }

        private void button9_Click(object sender, EventArgs e)
        {
            OneSend();
        }

        private void button12_Click(object sender, EventArgs e)
        {
            tcpStream.Dispose();
            tcpc.Close();
            richTextBox3.Text = "断开服务端连接!";
        }

        private void button10_Click(object sender, EventArgs e)
        {
            
            th = new Thread(new ThreadStart(listentest));
            th.IsBackground = true;
            th.Start();

            
        }

        private void listentest()
        {
            string readmsg = "";
            IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });
            listener = new TcpListener(ip,8700);
            listener.Start();			// 开始侦听
            richTextBox3.AppendText("开始监听\r\n");
            // 获取一个连接,同步方法,在此处中断
            TcpClient remoteClient = listener.AcceptTcpClient();
            // 获得流
            NetworkStream streamToClient = remoteClient.GetStream();
            do
            {
                // 写入buffer中
                byte[] buffer = new byte[1024];
                int bytesRead;
                try
                {
                    lock (streamToClient)
                    {
                        bytesRead = streamToClient.Read(buffer, 0, 1024);
                    }
                    if (bytesRead == 0) throw new Exception("读取到0字节");

                    /**加了richtextBox3.AppendText,导致堵塞,不能在do循环里加appendtext***/
                    readmsg = string.Format("Client Send:{0}>>>{1}\r\n", bytesRead, System.BitConverter.ToString(buffer, 0, bytesRead));
                    

                    // 获得请求的字符串
                    string msg = Encoding.Unicode.GetString(buffer, 0, bytesRead);
                    Console.WriteLine("Received: {0}", msg);

                    // 抓换成大写并发送
                    //msg = msg.ToUpper();
                    msg = "谢谢你的发送";
                    buffer = Encoding.Unicode.GetBytes(msg);
                    lock (streamToClient)
                    {
                        streamToClient.Write(buffer, 0, buffer.Length);
                    }
                    Console.WriteLine("Sent: {0}", msg);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    break;
                }
                richTextBox3.AppendText(readmsg);
            } while (true);

            streamToClient.Dispose();
            remoteClient.Close();

        }

        private void Stoptest()
        {
            listener.Stop();
            th.Abort();

        }

        private void button14_Click(object sender, EventArgs e)
        {
            Stoptest();
        }

        private void button11_Click(object sender, EventArgs e)
        {
            try
            {
                tcpc = new TcpClient("127.0.0.1", Int32.Parse(textBox4.Text));
                tcpStream = tcpc.GetStream();
                richTextBox3.Clear();

            }
            catch (Exception)
            {
                richTextBox3.Text = "目标计算机拒绝连接请求!";
            }
        }

        private void button13_Click(object sender, EventArgs e)
        {
            const int BufferSize = 8192;
            string msg="hello,i am danny";
            byte[] buffer = Encoding.Unicode.GetBytes(msg);	
            try
            {
                lock (tcpStream)
                {
                    tcpStream.Write(buffer, 0, buffer.Length);		// 发往服务器
                }
                richTextBox3.AppendText("发送--->");
                richTextBox3.AppendText(msg);
                int bytesRead;
                buffer = new byte[BufferSize];
                lock (tcpStream)
                {
                    bytesRead = tcpStream.Read(buffer, 0, BufferSize);
                }
                msg = Encoding.Unicode.GetString(buffer, 0, bytesRead);
                richTextBox3.AppendText("接收到--->");
                richTextBox3.AppendText(msg);

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                
            }
        }



    }

   

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -