如何重新组合分成多个UDP数据报的消息?

时间:2015-08-21 11:25:30

标签: java proxy udp ip protocols

我正在使用DDS进行消息传递的分布式应用程序。网络的某些部分由数据二极管分开,数据二极管仅允许单向数据流(即数据可以来自A => B而不是B => A)。这对DDS来说是个问题所以我们正在考虑在任何一方建立代理Java应用程序:

/-----------\ =>=>=>=>=> PROXY #2 /-----------\ ¦ MESSAGE ¦ => PROXY #1 => => DATA => => Receives TCP, => ¦ MESSAGE ¦ ¦ PUBLISHER ¦ Receives message => DIODE=> converts to message ¦ SUBSCRIBER¦ \-----------/ & converts to TCP =>=>=>=>=> and republishes \-----------/

我对UDP不是很熟悉,但我目前的理解是固定的数据包大小(例如512 bytes)是可取的。因此,任何大于此的消息都需要分成多个数据报,并由PROXY#2以它们到达的顺序拼接在一起 - 并且只有在重新组装所有部分时才会发送消息。

这里的问题是如何重新发布消息?对车轮改造有点警惕,例如:发明自定义协议或算法(如果它已经存在)。

0 个答案:

没有答案