社区
C#
帖子详情
关于通信程序设计问题
bj-alex
2014-07-16 08:32:36
在一个多层环境中,设计一个通信程序,需要接收下层设备发送的数据包,也要接收上层设备发送的控制指令,并将下下层设备发送的数据保存,然后发送给上层设备,中间层的通信程序通过消息队列接收发送数据,请各位高手给个设计方案。
...全文
209
6
打赏
收藏
关于通信程序设计问题
在一个多层环境中,设计一个通信程序,需要接收下层设备发送的数据包,也要接收上层设备发送的控制指令,并将下下层设备发送的数据保存,然后发送给上层设备,中间层的通信程序通过消息队列接收发送数据,请各位高手给个设计方案。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
於黾
2014-07-17
打赏
举报
回复
你做的这个东西应该是个server,而所谓上层设备其实是clint 你不应该考虑如何主动将数据发到clint,而是上层设备来获取数据 否则如果你的上层设备有多个,或IP不固定,你逻辑实现起来会异常复杂
以专业开发人员为伍
2014-07-17
打赏
举报
回复
所谓“多层”,这可能是指NAT路由机制。但是服务器总是放在一个“公共”的位置,所有客户端都可以访问到。 因此客户端访问服务器端,然后长连接。如果断线,客户端会尝试重新连接服务器。 服务器从来不会去主动连客户端。
以专业开发人员为伍
2014-07-17
打赏
举报
回复
你可以看看msdn上入门的 TcpListener 的例子,虽然msdn上的关于通讯的例子都非常简单、不实用,但是回答你的问题绰绰有余。只要用几行代码启动TcpListener对象实例,它就会监听客户端访问,然后就会与每一个客户端建立一个TcpClient连接,通过这个TcpClient.GetStream() 方法可以得到一个支持双向读写字节流数据的 Stream 对象,随时可以(异步或者同步)读数据或者(同步或者异步)写数据。这是服务器端。 而客户端,你的各种pc设备、PLC+PLU设备之类的,直接使用tcp方式访问服务器,就能随时推送数据给服务器、随时收到服务器发来的数据。这是双工双向通讯的。 至于处理复杂的业务,那需要你自己定义通讯信令格式,并有一个GateWay程序将.net对象与通讯所用的数据流进行序列化、反序列化。比如说通讯中传送json格式的文本信息。这是你自己要做的比较高层的设计,而底层则比较简单,跟你的业务无关。
以专业开发人员为伍
2014-07-17
打赏
举报
回复
按照你的说法,随便一个支持“双向通讯”的(tcp)服务器程序都是干这个事情的。你可能还是在基本的编程语句上纠结呢,还没有到产品研发那一层。
bj-alex
2014-07-17
打赏
举报
回复
非常感谢各位的建议,白天上不了网,只能晚上回复了。 是我搞复杂了,其实是这样的,业务程序把获得的数据保存到本地消息队列,有新消息时,通信程序从消息队列读取数据,通过socket连接发送给其它计算机。
threenewbee
2014-07-16
打赏
举报
回复
方案不是三言两语可以回答你的。这个要结合需求、硬件、你期望的性能开销等等综合决定。
Windows-网络与
通信
程序设计
.pdf
王艳平写的Windows网络与
通信
程序设计
,感觉不错,就放上去了。
VB串口
通信
源码210个
006、VB6的串口
通信
程序,还有crc校验 007、VB Modbus RTU源码,其中协议部分已生成DLL,可直接调用 008、VB.net开发的串口调试程序 009、VB.net实现串口编程,希望大家有用 010、VB版串口调试程序,包含VB源码及安装...
【Java】基于GUI的网络
通信
程序设计
这是合工大软件工程专业Java
程序设计
课程实验二的内容,该实验要求编写Java程序完成以下功能: 1. 设计一个基于GUI的客户-服务器的
通信
应用程序,如图1、图2所示。 图1 So..
《网络
通信
程序设计
课程设计》要求
为了使学生进一步深入掌握网络
通信
程序设计
知识,为了锻炼学生对网络
通信
程序设计
知识的应用能力,同时提高学生在网络
通信
程序设计
的水平,将相关知识应用于实际生活中的某些应用。 课程结构: 课程设计...
C#串口介绍及串口
通信
程序设计
实现(附程序分享)
其特点是
通信
线路简单,只要一对传输线就可以实现双向
通信
(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离
通信
,但传送速度较慢。 9位针脚功能对应如下: 载波检测(DCD) 接受数据(RXD...
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章