EEBUS server und client websocket connections #171
-
Hello Community, I have a fundamental question that I hope you can answer—provided I can express it clearly enough. As part of my familiarization with EEBUS, I took a C# project available on GitHub and further developed it: EEBUS.NET. I am following a strictly object-oriented approach. The code, in its current state, can already collaborate with the controlbox simulator. Currently, the C# code is hardcoded to support the LPC use case and also sends heartbeats regularly. My question relates to the underlying websocket communication. In the example, both EEBUS devices each offer a websocket server and have a websocket client. Both can therefore act as both server and client. Does EEBUS require that all communication must work equally over both connections, or is it sufficient if an EEBUS device, for example, functions only as a server and thus does not communicate as a client? The aforementioned code aims to act as an adapter between a C#-written EMS and a control box. No additional EEBUS device should be connected to the same network to prevent interference. For such a limited use case, the implementation effort could be significantly reduced if the client functionality could be omitted. However, this means that initiating a connection would always have to come from the control box. Is that actually the case in reality? Best regards, |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
Hi Klaus, only one connection between two distinct devices may be in use at a given time. It is not allowed to use multiple connections between two distinct devices simultaneously. The SHIP specification specifies rules which connection should be kept. As this is nearly impossible to implement, all stacks have different approaches. See enbility/ship-go#5 Also both devices should be able to initiate a connection. There are devices that won't do this, and it does have quite a few negative effects in the field. There very likely could be control boxes in the field that have the same approach, and then no connection would be established at all. Hope this helps, |
Beta Was this translation helpful? Give feedback.
Hi Klaus,
only one connection between two distinct devices may be in use at a given time. It is not allowed to use multiple connections between two distinct devices simultaneously. The SHIP specification specifies rules which connection should be kept. As this is nearly impossible to implement, all stacks have different approaches. See enbility/ship-go#5
Also both devices should be able to initiate a connection. There are devices that won't do this, and it does have quite a few negative effects in the field. There very likely could be control boxes in the field that have the same approach, and then no connection would be established at all.
Hope this helps,
Andreas