Is using web sockets the answer to transferring data from a client RRS feed

  • Question

  • Hi,

    My background is in SQL Server and C# using console, windows forms and a little bit of API consumption and creation. My web based C# skills are fairly limited and i haven't used ASP Core or MVC.

    I am looking for direction on best alternatives/technologies to solve the following challenge.

    We want to move data from a clients network (client) to our network (server). The data could be file contents, the results of a SQL query or anything else. We need the server to make real time requests to the client and send a response. The volume of information that can be send from the client could be anything from 1k to 100meg. Obviously if the volumes were large we'd want to split the data into smaller chucks and send them.

    Current high level solution i have come up with is as follows:

    • Use WebSockets as the mechanism to send and receive requests between server and client, as well as send the data chunks as they become available.
    • The Server would be built in a .Net technology e.g. ASP.Net, ASP Core, ASP Core MVC
    • The Client would be a window service.

    I managed to build a very basic version of this and can see that it would work however before proceeding further i want to try and confirm the following:

    • Are WebSockets the best solution for this considering the data volumes that need to be sent (this would be over the internet)
    • Is SignalR a better option?
    • What solution will work on any client e.g. Windows 7, Windows Server (all versions from 2008) as we have no control over this, x32 and x64. The server will run on Windows Server 2016.
    • What server based architecture is best eg. ASP Core MVC (i have experience in this)
    • Are there any security concerns with a solution of this nature?
    • Is there other technology that could achieve the same e.g. use websockets to send the requests but FTP the data back?

    The ultimate goal is to install an application/windows service at the client end and be able to do all the configuration and request generation from our end - the client would simple fulfil any requests it receives.

    I understand this is very broad but i can narrow down the questions once i get a better understanding of what is the best solution.



    Monday, September 17, 2018 11:07 PM

All replies