Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 一个或多个UDP网络实时系统_Multithreading_Sockets_Udp_Real Time_Broadcast - Fatal编程技术网

Multithreading 一个或多个UDP网络实时系统

Multithreading 一个或多个UDP网络实时系统,multithreading,sockets,udp,real-time,broadcast,Multithreading,Sockets,Udp,Real Time,Broadcast,我正在为电梯开发一个实时系统,我需要一些关于网络模块实现的建议。网络模块基于UDP广播,需要做几件事: 发送一个心跳信号,以了解哪些电梯处于活动状态 广播新订单/作业 如果电梯正在执行命令/工作,则广播 到目前为止,我只实现了一个UDP服务器,这使得每条消息的负载相当大。它包含具有以下属性的JSONobject: STATUS newOrders takenOrders orderQueue 我的问题是,我应该为每个电梯在不同端口上生成多个运行UDP的线程吗?如果是这样,我可以使用一个组合发送

我正在为电梯开发一个实时系统,我需要一些关于网络模块实现的建议。网络模块基于UDP广播,需要做几件事:

发送一个心跳信号,以了解哪些电梯处于活动状态 广播新订单/作业 如果电梯正在执行命令/工作,则广播 到目前为止,我只实现了一个UDP服务器,这使得每条消息的负载相当大。它包含具有以下属性的JSONobject:

STATUS
newOrders
takenOrders
orderQueue

我的问题是,我应该为每个电梯在不同端口上生成多个运行UDP的线程吗?如果是这样,我可以使用一个组合发送心跳,一个处理订单,一个广播订单队列。在每个客户端上运行多个UDP的优缺点是什么?

没有“多个UDP”这样的东西。你是说多个插座吗?很难相信在一些外围设备像电梯一样慢的东西上会有任何多端口或多线程的要求。我想我不够清楚,因为缺乏这方面的知识。我应该澄清一下,在不同的端口上发送不同的信息,从而在不同的线程上发送不同的信息。你对电梯速度慢的看法是正确的,但这是要求的一部分。这是一个有点宽泛的问题。如果没有一个需求规范和大量的时间,这是很重要的。。很难提出一个有效的、符合您要求的总体系统设计。我无法立即理解为什么您需要两个以上的线程——一个用于将数据报出列并发送,一个用于接收数据报并将其排入某个状态机。发送线程可以在其输入队列上实现超时,并在超时时发出心跳信号。除了使用UDP广播之外,我不明白为什么消息这么大,或者应该是这么大的负载。我想你是对的。事实上,你给我提供了一些对我有价值的输入,所以我会考虑这一个过于宽泛的问题,然后只继续这两个线程。