请教一个Mvc网站和TcpServer集成通信的问题?

csdn_nickname_chen 2019-12-17 05:34:29

譬如一个外卖系统,用MVC方式开发了一个外卖网站,客人登录外卖网站,选好商品,下单。网站收到订单后,要立即通知商家,有新的订单了。

商家的收银电脑上装了一个exe软件,我想给这个exe加一个TcpClient控件,用socket方式连接到外卖服务器,那么外卖服务器就需要一个TcpServer控件。外卖网站收到订单后,立即通过TcpServer,给商家发新的订单消息。

那么问题来了:

1、外卖网站是MVC开发的,该怎么集成TcpServer?我看到IIS每隔24小时会自动重启一个网站,那是不是所有客户端都会掉线?

2、如果MVC不能直接集成TcpServer,那是不是将TcpServer做成一个exe软件?MVC做的网站该用什么技术和exe软件交互?

客人->外卖网站 ??? TcpServer->商家收银电脑
中间不知道用什么技术传递消息。
...全文
340 12 打赏 收藏 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdn_nickname_chen 2019-12-20
  • 打赏
  • 举报
回复
感谢各位指点,原来以为很难实现的,现在却发现有这么多方法,我总结一下
1、MVC中用tcpclien和TCPServer通信
2、MVC把通知存在数据库里,再由TCPServer定时检索,然后发送
3、WebSocket
4、用第三方的推送服务
这些都是之前从来没想到过的,再次感谢各位。
ying1234 2019-12-18
  • 打赏
  • 举报
回复
简单点,服务端用supersocket(.net的一个socket框架,直接拿来用最方便)做个window服务或者控件台程序,定时扫描订单表(或者说推送表),推送数据,客户端也可以supersocket,这个框架我们用过,还比较稳定。一直没出什么问题过。最开始的时候把队列做表里最方便,你也最熟悉,优化以后再说吧。
wanghui0380 2019-12-18
  • 打赏
  • 举报
回复
建议:在各位显示技术NX的同时,能否给一个最简单直白的实现,不要总往技术NX上拽。技术在NX,也未必吸引投资者 能让投资者能以最快,最简便的方式赚到钱,那么他们才愿意投资给你。 最简单直白的实现 1.花点小钱,买个推送服务,前期规模不大。直接弄,快速实现你要实现的,吸引到客户,同时快速验证这条路能给你带来钱 2.中期替换,使用rabitmq,简单快速替换 3.后期,如果你能赚到更多钱,不妨专门投入。去做高并发,高可用,双向交互通知
by_封爱 2019-12-18
  • 打赏
  • 举报
回复
引用 6 楼 csdn_nickname_chen 的回复:
假设做了一个集成TcpServer的exe,暂且称为TcpServer.exe吧。商家客户端用Socket和TcpServer.exe可以相互通信了。 可关键的问题是,客户下单后,Mvc怎么触发TcpServer.exe呢,Mvc怎么发通知给TcpServer.exe,这个会用到哪方面的技术? 总不能用SendMessage()函数吧,感觉这个太复杂了,用这个传送数据好像还要申请共享内存什么的。还有什么其它技术吗?
服务器的exe跟客户端的exe是长连接的. 这个没问题 但是 你现在想做"通知",那么就需要网页端发送一个标识符. 所以 你在网页里写 tcp_client 的东西 发送一个信号 也是可以的.. 但是你虽然用的是长连接.. 但是因为网页的原因 他并不是长连接.. 会自动销的. 不过不要紧 你只是发送过去一个信号而已.server.exe可以接收到这个信号.然后在给客户端做推送.
csdn_nickname_chen 2019-12-17
  • 打赏
  • 举报
回复
引用 7 楼 楠小南 的回复:
[quote=引用 5 楼 csdn_nickname_chen 的回复:]
[quote=引用 1 楼 楠小南 的回复:]
用 websocket 不是简单多了,客户端加个心跳 断了就重连 即可


商家客户端是exe,exe也可以集成websocket吗?

是不是商家客户端集成WebSocketClient,Mvc外卖网站集成WebSocketServer?[/quote]

对,可以[/quote]

感谢,我先找找WebSocket的资料。一个WebSocket服务器能同时连接多少个WebSocketClient。

引用 3 楼 wanghui0380 的回复:
以你的情况,个人建议先买个“推送服务”完成先

先完成,如果后面想自己做推送服务,其实也简单,N种实现方式
m
ps:其实你不说不会做,你只是不知道怎么找到资料,这个里面先别忙着tcp,先百度人家的“推送服务”怎么弄的


一直开发纯网站,没做过这种系统性的东东,所以不知道该用哪方面技术,该找哪方面的资料,谢谢指点。
楠小南 2019-12-17
  • 打赏
  • 举报
回复
引用 5 楼 csdn_nickname_chen 的回复:
[quote=引用 1 楼 楠小南 的回复:]
用 websocket 不是简单多了,客户端加个心跳 断了就重连 即可


商家客户端是exe,exe也可以集成websocket吗?

是不是商家客户端集成WebSocketClient,Mvc外卖网站集成WebSocketServer?[/quote]

对,可以
csdn_nickname_chen 2019-12-17
  • 打赏
  • 举报
回复
引用 2 楼 by_封爱 的回复:
mvc不能.. 你可以使用SignalR 或者exe或者winservice.

因为你客户端选择了exe. 那么我觉得你服务端选择后面2钟比较合适.


假设做了一个集成TcpServer的exe,暂且称为TcpServer.exe吧。商家客户端用Socket和TcpServer.exe可以相互通信了。

可关键的问题是,客户下单后,Mvc怎么触发TcpServer.exe呢,Mvc怎么发通知给TcpServer.exe,这个会用到哪方面的技术?

总不能用SendMessage()函数吧,感觉这个太复杂了,用这个传送数据好像还要申请共享内存什么的。还有什么其它技术吗?
csdn_nickname_chen 2019-12-17
  • 打赏
  • 举报
回复
引用 1 楼 楠小南 的回复:
用 websocket 不是简单多了,客户端加个心跳 断了就重连 即可


商家客户端是exe,exe也可以集成websocket吗?

是不是商家客户端集成WebSocketClient,Mvc外卖网站集成WebSocketServer?
wanghui0380 2019-12-17
  • 打赏
  • 举报
回复
如果是网站--------------推送到exe,其实相对更简单。 一个mq足矣。 网站直接pubshi 到 "订单/商户id" exe直接订阅“订单/商户id”就成 前面说了,N种方式,只要你知道去找怎么实现“消息推送”就ok。
wanghui0380 2019-12-17
  • 打赏
  • 举报
回复
以你的情况,个人建议先买个“推送服务”完成先 先完成,如果后面想自己做推送服务,其实也简单,N种实现方式 m ps:其实你不说不会做,你只是不知道怎么找到资料,这个里面先别忙着tcp,先百度人家的“推送服务”怎么弄的
by_封爱 2019-12-17
  • 打赏
  • 举报
回复
mvc不能.. 你可以使用SignalR 或者exe或者winservice. 因为你客户端选择了exe. 那么我觉得你服务端选择后面2钟比较合适.
楠小南 2019-12-17
  • 打赏
  • 举报
回复
用 websocket 不是简单多了,客户端加个心跳 断了就重连 即可
【空间辨识】一致模态指标与模态参与因子的随机子空间辨识研究(Matlab代码实现)内容概要:本文研究了一致模态指标与模态参与因子在随机子空间辨识中的应用,重点探讨了如何利用Matlab实现空间辨识方法对动态系统模态参数进行精确估计。文中详细介绍了含噪重复瞬态信号的构成特征,分析了传统信号处理方法如经验模态分解、小波变换和常规变分模态分解在低信噪比环境下存在的模态混叠、端点效应及对瞬态特征识别能力不足等问题。针对这些问题,提出了一种融合变分自适应分解、多谐波特征耦合识别与对偶模式追踪机制的新方法,能够有效剥离噪声、精准匹配并追踪重复瞬态分量。该方法通过四个阶段实现:信号预处理、多谐波特征提取、对偶模式迭代追踪和信号重构优化,显著提升了复杂工况下微弱瞬态信号的提取精度与鲁棒性。试验部分通过仿真与工程实测数据验证了所提方法在不同噪声强度和瞬态形态下的优越性能。; 适合人群:具备一定信号处理基础和Matlab编程能力,从事机械故障诊断、结构健康监测、振动分析等相关领域的研究生及科研人员。; 使用场景及目标:①解决工程实践中被强噪声掩盖的重复瞬态信号提取难题;②提升机械设备早期故障特征识别能力;③为模态参数辨识、状态监测与故障预警提供技术支持; 阅读建议:建议结合Matlab代码深入理解算法实现细节,重点关注多谐波耦合识别与对偶追踪机制的设计逻辑,并通过仿真与实测数据对比分析验证方法有效性。
内容概要:本文围绕基于PID优化和矢量控制装置的四旋翼无人机系统展开,重点介绍了其在Matlab&Simulink环境下的建模与仿真方法。文中系统阐述了四旋翼无人机的动力学建模过程,深入分析了PID控制参数的优化策略与矢量控制装置的设计原理,并通过Simulink平台搭建完整的飞行控制系统模型,实现了对无人机姿态、位置的高精度控制。研究结合实际飞行需求,对控制系统的抗干扰能力、动态响应性能及运行稳定性进行了全面评估,通过仿真结果验证了所提出控制策略的有效性与可行性。此外,文章还探讨了该技术在无人机路径规划、协同控制以及复杂环境下的自主飞行任务中的广泛应用前景。; 适合人群:具备自动控制理论基础和Matlab/Simulink使用经验的高校学生、科研人员及从事无人机系统开发的工程技术人员。; 使用场景及目标:①掌握四旋翼无人机的动力学建模与飞控系统设计方法;②学习PID参数整定与矢量控制策略的实现技巧;③利用Simulink进行控制系统仿真与性能分析,提升对非线性、多变量系统控制的理解与实践能力。; 阅读建议:建议读者结合文中提供的仿真模型逐步操作,重点关注控制模块的搭建逻辑与参数设置细节,同时可延伸学习现代控制理论如LQR、MPC等先进算法在无人机控制中的应用,以深化对控制系统优化的认知。

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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