当前位置:编程学习 > C#/ASP.NET >>

DLL 接受数据 请教

 小弟最近在做一个与硬件通信的API程序,目前就是制作一个DLL文件,把数据的接收、发送、处理函数都写在里面,现在通讯都可以实现,但是有个问题自己没有好的实现方法,以TCP为例:
        //TCP接收信息
        public void recieve(TcpClient tcpClient)
        {
            if (tcpClient.Connected)
            {

                Thread _createServer = new Thread(new ThreadStart(Accept));
          _createServer.Start();

            }
            else
            {

            }
     
        }

        public void Accept()
        {
             netStream = tcpClient.GetStream();
            //StreamReader sr = new StreamReader(ns);//流读写器
            //字组处理
            while (true)
            {
                try
                {
                    byte[] bytes = new byte[1024];
                    int bytesread = netStream.Read(bytes, 0, bytes.Length);
                    string msg = Encoding.Default.GetString(bytes, 0, bytesread);
                    netStream.Flush();//刷新流中的数据
                    //netStream.Close();
                    this.Invoke((EventHandler)delegate { richTextBox1.Text += msg; });//接收数据后的具体操作
                }
                catch (Exception ex)
                {
                    break;
                    //MessageBox.Show ("与服务器断开连接了");
                    MessageBox.Show(ex.Message);
                    //return "";
                }
            }
        }
这段TCP接受数据代码写在form里是可以持续接收并显示出来的。
但是我想把接收数据这段代码写在DLL里面,并且数据接收后的操作函数还是需要留在winform里。
不知道我的描述清不清楚,就是把接收数据的过程写在DLL里,而接收后的具体操作写在winform里,就像串口类中的serialPort1_DataReceived函数一样。可以让用户编码处理接到的数据。
     现在请教各位英雄们,具体能用什么样的模式实现呢?在DLL里用一个线程接收数据,然后在winform里用另一个线程监视有没有接收到数据?在winform中越简单越好,API给别人用当然是winform中越简单越好用。小弟编程是半路出家的,学艺不精,望英雄指点迷津。 --------------------编程问答-------------------- dll中加入回调函数
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,