国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

編寫了一個簡單的串口映射工具

2019-11-17 02:22:43
字體:
來源:轉載
供稿:網友

編寫了一個簡單的串口映射工具

編寫了一個簡單的串口映射工具,方便調試串口

代碼:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO.Ports;using System.Linq;using System.Net;using System.Net.Sockets;using System.Text;using System.Threading;using System.Threading.Tasks;using System.Windows.Forms;namespace ComMax{    public partial class Form1 : Form    {        PRivate Socket m_ClientSocket;        private Socket m_ServerSocket;        private Socket m_Client;        private SerialPort m_ClientPort;        private SerialPort m_ServerPort;        private object m_lock = new object();        public Form1()        {            InitializeComponent();        }        private void Form1_Load(object sender, EventArgs e)        {        }        private void Form1_FormClosing(object sender, FormClosingEventArgs e)        {            Environment.Exit(0);        }        private void Form1_FormClosed(object sender, FormClosedEventArgs e)        {        }        public void m_ClientPort_DataReceived(object obj, SerialDataReceivedEventArgs args)        {            if (m_ClientPort.BytesToRead > 0)            {                Thread.Sleep(50);                byte[] bArr = new byte[m_ClientPort.BytesToRead];                m_ClientPort.Read(bArr, 0, bArr.Length);                m_ClientSocket.Send(ComData.pack(bArr));            }        }        public void m_ServerPort_DataReceived(object obj, SerialDataReceivedEventArgs args)        {            if (m_ServerPort.BytesToRead > 0)            {                Thread.Sleep(50);                byte[] bArr = new byte[m_ServerPort.BytesToRead];                m_ServerPort.Read(bArr, 0, bArr.Length);                m_Client.Send(ComData.pack(bArr));            }        }        private void btnServer_Click(object sender, EventArgs e)        {            btnServer.Enabled = false;            btnClient.Enabled = false;            m_ServerPort = new SerialPort(txtServerCom.Text.Trim(), 9600, Parity.None, 8, StopBits.One);            m_ServerPort.ReadBufferSize = 1024;            m_ServerPort.WriteBufferSize = 1024;            m_ServerPort.DataReceived += new SerialDataReceivedEventHandler(m_ServerPort_DataReceived);            m_ServerPort.Open();            ipEndPoint ipep = new IPEndPoint(IPAddress.Any, 3001);            m_ServerSocket = new Socket(ipep.AddressFamily, SocketType.Stream, ProtocolType.Tcp);            m_ServerSocket.Bind(ipep);            m_ServerSocket.Listen(10);            new Thread(new ThreadStart(delegate()            {                while (true)                {                    m_Client = m_ServerSocket.Accept();                    new Thread(new ThreadStart(delegate()                    {                        while (true)                        {                            byte[] inBuffer = new byte[m_Client.ReceiveBufferSize];                            m_Client.Receive(inBuffer, m_Client.ReceiveBufferSize, SocketFlags.None);//如果接收的消息為空 阻塞 當前循環                             byte[] data = ComData.unpack(inBuffer);                            m_ServerPort.Write(data, 0, data.Length);                        }                    })).Start();                }            })).Start();        }        private void btnClient_Click(object sender, EventArgs e)        {            btnServer.Enabled = false;            btnClient.Enabled = false;            m_ClientPort = new SerialPort(txtClientCom.Text.Trim(), 9600, Parity.None, 8, StopBits.One);            m_ClientPort.ReadBufferSize = 1024;            m_ClientPort.WriteBufferSize = 1024;            m_ClientPort.DataReceived += new SerialDataReceivedEventHandler(m_ClientPort_DataReceived);            m_ClientPort.Open();            IPEndPoint ipep = new IPEndPoint(IPAddress.Parse(txtIP.Text.Trim()), 3001);            m_ClientSocket = new Socket(ipep.AddressFamily, SocketType.Stream, ProtocolType.Tcp);            m_ClientSocket.Connect(ipep);            new Thread(new ThreadStart(delegate()            {                while (true)                {                    byte[] inBuffer = new byte[m_ClientSocket.ReceiveBufferSize];                    m_ClientSocket.Receive(inBuffer, m_ClientSocket.ReceiveBufferSize, SocketFlags.None);//如果接收的消息為空 阻塞 當前循環                     byte[] data = ComData.unpack(inBuffer);                    m_ClientPort.Write(data, 0, data.Length);                }            })).Start();        }    }}
View Code


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 驻马店市| 堆龙德庆县| 林西县| 比如县| 西吉县| 交口县| 阿合奇县| 若羌县| 云阳县| 五寨县| 绥棱县| 通海县| 辉南县| 临海市| 克什克腾旗| 思南县| 阿拉善左旗| 伊川县| 甘南县| 阳原县| 贵阳市| 黄冈市| 闽清县| 卢龙县| 信阳市| 柞水县| 象山县| 禄丰县| 南宫市| 屏东市| 新干县| 大洼县| 原平市| 宜黄县| 尉氏县| 安丘市| 赞皇县| 上林县| 和林格尔县| 蓝田县| 金昌市|