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