Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Design and Architecture
  4. Inter-process communications in a desktop client-server app with local server?

Inter-process communications in a desktop client-server app with local server?

Scheduled Pinned Locked Moved Design and Architecture
csharpquestionsysadminlinuxjson
5 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    markrlondon
    wrote on last edited by
    #1

    I'm developing a C# desktop app which runs on Windows, Mac and Linux (under .NET or Mono). The plan is for the program to be divided into two parts in separate processes: The front end GUI and the back end storage server. The reason for dividing roles in this manner is to facilitate access to the data store by indexing services. The data store can be indexed by the operating system regardless of whether or not the front end GUI is running. So, my question is: What technique do you think I should use for inter-process communications between the front end and the back end? HTTP-based REST is feasible but how fast is it in practice? I need something fast and cross-platform compatible. Any suggestions?

    J L 2 Replies Last reply
    0
    • M markrlondon

      I'm developing a C# desktop app which runs on Windows, Mac and Linux (under .NET or Mono). The plan is for the program to be divided into two parts in separate processes: The front end GUI and the back end storage server. The reason for dividing roles in this manner is to facilitate access to the data store by indexing services. The data store can be indexed by the operating system regardless of whether or not the front end GUI is running. So, my question is: What technique do you think I should use for inter-process communications between the front end and the back end? HTTP-based REST is feasible but how fast is it in practice? I need something fast and cross-platform compatible. Any suggestions?

      J Offline
      J Offline
      jschell
      wrote on last edited by
      #2

      markrlondon wrote:

      The front end GUI ...I need something fast

      Exactly how fast are the humans that use that? For a desktop app that has, for example, 100,000 simultaneous users to the same back end, I suspect you are going to run into other problems.

      markrlondon wrote:

      HTTP-based REST is feasible but how fast is it in practice

      Versus what? Everything is basically IP these days. And unless there is something really wrong with your network even establishing a connection takes too little time for a human to care. So unless you have some actual real (and realistic) business metrics that are very large then use whatever you already know. Because doing that will mean less delivery time of the product and that is much more likely to be what the business cares about.

      M 1 Reply Last reply
      0
      • M markrlondon

        I'm developing a C# desktop app which runs on Windows, Mac and Linux (under .NET or Mono). The plan is for the program to be divided into two parts in separate processes: The front end GUI and the back end storage server. The reason for dividing roles in this manner is to facilitate access to the data store by indexing services. The data store can be indexed by the operating system regardless of whether or not the front end GUI is running. So, my question is: What technique do you think I should use for inter-process communications between the front end and the back end? HTTP-based REST is feasible but how fast is it in practice? I need something fast and cross-platform compatible. Any suggestions?

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #3

        .NET and Mono are not the same beast; you'll find that there are subtle differences in implementation. Fast inter-proces communication can be achieved by writing to shared memory.

        Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^][](X-Clacks-Overhead: GNU Terry Pratchett)

        M 1 Reply Last reply
        0
        • J jschell

          markrlondon wrote:

          The front end GUI ...I need something fast

          Exactly how fast are the humans that use that? For a desktop app that has, for example, 100,000 simultaneous users to the same back end, I suspect you are going to run into other problems.

          markrlondon wrote:

          HTTP-based REST is feasible but how fast is it in practice

          Versus what? Everything is basically IP these days. And unless there is something really wrong with your network even establishing a connection takes too little time for a human to care. So unless you have some actual real (and realistic) business metrics that are very large then use whatever you already know. Because doing that will mean less delivery time of the product and that is much more likely to be what the business cares about.

          M Offline
          M Offline
          markrlondon
          wrote on last edited by
          #4

          Thanks for the reply. Just catching up here...

          1 Reply Last reply
          0
          • L Lost User

            .NET and Mono are not the same beast; you'll find that there are subtle differences in implementation. Fast inter-proces communication can be achieved by writing to shared memory.

            Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^][](X-Clacks-Overhead: GNU Terry Pratchett)

            M Offline
            M Offline
            markrlondon
            wrote on last edited by
            #5

            Thanks. Catching up.

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • World
            • Users
            • Groups