Communication between Server and Client RRS feed

  • Question

  • Hi everyone!

    I'm developing two windows service in C#:

    • A windows service which is running with "Server role"
    • A windows service which is running with "Client role" on many machines

    The communication is Client -> Server (through SSH, thanks to Renci.SSH)but no Server -> Client. So, the Server does not send some feedback to Client during the service's lives. 

    But now I must satisfy another requirement: every Client have a config file which can be modified. The Server "need to know if a Client has the default config file or a modified config file" (so the Server need to know if a Client is updated or not). 

    The problem is: how can Server ask to a Client if it has the default config file or not?

    I don't want to instantiate N SSH connections (which N is the number of Client) between Server and Client in order to evaluate if a Client is updated or not, because I think that this is too "expensive".

    Infact, I have the SSH connections between the N Client and Server but I know that SSH is not full duplex communication.

    How I can do that?

    Can you suggest me an architecture of this requirement + some solutions to satisfy it?

    Thank you, have a good day. 

    Thursday, February 13, 2020 11:22 AM

All replies

  • Hi,

    Thank you for posting here.

    You mentioned the communication is Client-> Server.

    So is it possible to add a method to the client to check if it owns that configuration file, or if the configuration file is updated, and then transfer the information to the server. The server determines whether the client has updated by determining which client has sent this information.

    Best Regards,


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact

    Friday, February 14, 2020 9:04 AM
  • How are you using SSH?  SSH is a very specific protocol for running commands on a remote system, by connecting to a known SSH server.  You would not write your own SSH server.  Thus, I'm wondering what you are really talking about here.  Are your clients executing command on the server?

    SSH certainly does have full-duplex communication.  If you using a program like Putty to SSH into a remote client, you can send commands, and the other end can send information back.  That's why I'm wondering what you're talking about.

    Tim Roberts | Driver MVP Emeritus | Providenza & Boekelheide, Inc.

    Saturday, February 15, 2020 8:02 AM