Own network protocol
pfranken85 at gmail.com
pfranken85 at gmail.com
Mon Dec 29 03:34:27 EST 2014
Hello Tim,
Am Samstag, 27. Dezember 2014 14:19:21 UTC+1 schrieb Tim Chase:
> The eventual solution would depend on a variety of factors:
>
> - how critical is synchronization?
>
> - do clients need to know if they missed a message? (somebody
> disconnected from the LAN for a moment)
This would be nice indeed. At least, the user should be notified that the connection was lost and the current values may not be uptodate any more.
> - do clients need a way to receive historical messages in the event
> they were offline during the broadcast? (a power outage knocked out
> Client #18 at the time of the last update)
no, this is not necessary.
>
> - are all your clients on the same IP subnet? (you could use a
> broadcast packet)
yes, this assumption can be made.
>
> - would you rather push data as it changes, or have clients poll for
> the current state? (you write "it should send the update to the
> connected clients" which suggests a push architecture, yet you also
> want to have clients able to send updates: "should be possible for
> the client to send a particular request to the server...i.e., switch
> on LEX X")
Indeed, I would prefer a "push" setting, in particular to avoid additional overhead from the constant polling. Besides, this resembles more the scenario present at the server side: it gets notifications via callbacks in case anything has changed.
> - are you concerned about security/authentication? Can a rogue device
> send a message pretending to be the server? What would/should
> happen if an unintended client snoops the traffic? Does it matter?
> The suggestions would look very different if you were just building a
> hobby notification system as a demo in a contained home/lab/office,
> vs. if you were building an industrial control system for monitoring a
> remote location and conveying security info.
Concerning the latter two points: Introducing a possible security layer is something I would like to do in the future, so the selection of the network protocol/system should definitely keep this in mind.
What do you think of the RPyC?
Thanks for your valuable input!
More information about the Python-list
mailing list