关于C#上位机:包括界面控制、逻辑处理、数据采集(包括发送和处理)

匆匆那年_往事随风 2019-11-11 05:05:57
问题:搭建一个C#上位机,但是如何创建后台进行数据接收、数据发送(这两个线程要实时进行),接收到的数据和界面的控件的输入的数据进行逻辑处理,处理完后,将数据进行发送。采用UDP协议进行收发数据,目前单独会进行接收数据,但是要同时进行接收和发送两个任务总是有很多错误,有大神能够指点一下该如何搭建程序的框架?
...全文
970 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghui0380 2019-11-13
  • 打赏
  • 举报
回复
为啥总有人纠结这个线程,那个线程。 那我问你,你的UI界面,能让你输入,能让你移动,能让你回车。为啥。 为啥这里动不动就线程。动不动就是后台这个,后台那个。一个这个一个那个。 发送和接受,那里分说明这个后台,那个后台。 发送和接收本来天生就是异步并行,没啥两个线程,一个跑这个一个跑那个的说法 不管你是串口还是tcp,人家天生就是发送就是发送,接收就是接收,天生就是发送缓冲区,接收缓冲区,天生设计上就是并行的
  • 打赏
  • 举报
回复
我想问一下:对于数据采集的线程,是要开一个接受数据和一个发送数据的线程?当同时开这两个线程时,会有冲突。这两个线程如何才能让各自跑各自的。因为要实时采集,必须一直开启
Labnethon 2019-11-13
  • 打赏
  • 举报
回复
这种问题用LabVIEW处理的话会比较简单,因为LabVIEW天生多线程而且比较容易上手。 如果非要用C#的话,可以借鉴LabVIEW的思路,“生产者,消费者模式”,开一个线程专门采集数据,一个线程专门处理数据,一个线程专门处理UI。 希望对你有用, 实在不行可以外包。Tech_Cautwell@163.com
  • 打赏
  • 举报
回复
多线程异步并行,不去抢占相同的资源应该不会有冲突吧。就算是实时接收发送,但是就如楼上所说有接收缓冲区和发送缓冲区,调用正确就不会有冲突吧

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧