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
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Remote Desktop Access by using client/server architecture

Remote Desktop Access by using client/server architecture

Scheduled Pinned Locked Moved C / C++ / MFC
sysadminarchitecturequestion
8 Posts 3 Posters 1 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
    Madhu_Rani
    wrote on last edited by
    #1

    I have a two very simple client server applications that work well. Client can communicate with Server and Server too can communicate with Client. My goal is to access the applications of servers from client like TeamViewer. For that purpose, I have created a client/server application. Now what next I should do?

    M B 2 Replies Last reply
    0
    • M Madhu_Rani

      I have a two very simple client server applications that work well. Client can communicate with Server and Server too can communicate with Client. My goal is to access the applications of servers from client like TeamViewer. For that purpose, I have created a client/server application. Now what next I should do?

      M Offline
      M Offline
      Moak
      wrote on last edited by
      #2

      What is 'TeamViewer'? Could you elaborate on your requirements or technical C++ problems?

      My webchat in Europe :java:

      1 Reply Last reply
      0
      • M Madhu_Rani

        I have a two very simple client server applications that work well. Client can communicate with Server and Server too can communicate with Client. My goal is to access the applications of servers from client like TeamViewer. For that purpose, I have created a client/server application. Now what next I should do?

        B Offline
        B Offline
        Bacon Ultimate Cheeseburger
        wrote on last edited by
        #3

        It sounds like you are attempting to create a remote desktop viewer which is not a trivial task. If so I suggest that you look at something like TightVNC.

        M 1 Reply Last reply
        0
        • B Bacon Ultimate Cheeseburger

          It sounds like you are attempting to create a remote desktop viewer which is not a trivial task. If so I suggest that you look at something like TightVNC.

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

          YES. U are right. I have studied the VNC source code and could not grasp it completely. I would apprecaite if you guide me step by step. eg , as I have already developed the client/server application. so what I should do next. How to capture the remote machine applications and then how to transmitt using client/server application. Even I am not sure , either I need the client/server application or not? I can guees that might be I capture the remote machine desktop by using printscreen function and then transmitt this image to viewer application (client) but then the question arises , how I may perform functions over an image, like mouse click to start/close the application. THANKS for earlier help.

          B 1 Reply Last reply
          0
          • M Madhu_Rani

            YES. U are right. I have studied the VNC source code and could not grasp it completely. I would apprecaite if you guide me step by step. eg , as I have already developed the client/server application. so what I should do next. How to capture the remote machine applications and then how to transmitt using client/server application. Even I am not sure , either I need the client/server application or not? I can guees that might be I capture the remote machine desktop by using printscreen function and then transmitt this image to viewer application (client) but then the question arises , how I may perform functions over an image, like mouse click to start/close the application. THANKS for earlier help.

            B Offline
            B Offline
            Bacon Ultimate Cheeseburger
            wrote on last edited by
            #5

            Madhu_Rani wrote:

            I have studied the VNC source code and could not grasp it completely

            I would go back and study it a bit more. There is a wealth of information available in open source remote desktop apps and not just in the source code. Review the change logs and the SVN history of files responsible for the functionality that you are particularly interested in. Seeing the problems they have had to deal with can give you an idea of what you might encounter during the development process. You can even go back to very early versions which might be a bit primitive but will be easier to understand.

            Madhu_Rani wrote:

            I would apprecaite if you guide me step by step.

            At a very basic level most of what you are trying to accomplish is fairly straight forward. You might approach this by having your remote desktop server capture the desktop as an image, prepare the image data and then transmit it to the client. On the client you would then simply process the incoming image data and display it in a window. Without compression however you will be transmitting a significant amount of data for each screen update.

            M 1 Reply Last reply
            0
            • B Bacon Ultimate Cheeseburger

              Madhu_Rani wrote:

              I have studied the VNC source code and could not grasp it completely

              I would go back and study it a bit more. There is a wealth of information available in open source remote desktop apps and not just in the source code. Review the change logs and the SVN history of files responsible for the functionality that you are particularly interested in. Seeing the problems they have had to deal with can give you an idea of what you might encounter during the development process. You can even go back to very early versions which might be a bit primitive but will be easier to understand.

              Madhu_Rani wrote:

              I would apprecaite if you guide me step by step.

              At a very basic level most of what you are trying to accomplish is fairly straight forward. You might approach this by having your remote desktop server capture the desktop as an image, prepare the image data and then transmit it to the client. On the client you would then simply process the incoming image data and display it in a window. Without compression however you will be transmitting a significant amount of data for each screen update.

              M Offline
              M Offline
              Madhu_Rani
              wrote on last edited by
              #6

              THANKS for the detailed reply. I am trying to capture the desktop as an image and then I would send the captured image to the client and if delay is on higher side, then I would do compression by using some built-in-API.. I am little confused, how a transmitted image ( from server) would responds to mouse clicks. eg If I have a click over START button of transmitted image, how server would open the START menu ... as it is an image, so how clicks would trigger the corresponding events... I can capture these events on client machine but how these events would be mapped to server sides... THANKS.

              B 1 Reply Last reply
              0
              • M Madhu_Rani

                THANKS for the detailed reply. I am trying to capture the desktop as an image and then I would send the captured image to the client and if delay is on higher side, then I would do compression by using some built-in-API.. I am little confused, how a transmitted image ( from server) would responds to mouse clicks. eg If I have a click over START button of transmitted image, how server would open the START menu ... as it is an image, so how clicks would trigger the corresponding events... I can capture these events on client machine but how these events would be mapped to server sides... THANKS.

                B Offline
                B Offline
                Bacon Ultimate Cheeseburger
                wrote on last edited by
                #7

                Madhu_Rani wrote:

                If I have a click over START button of transmitted image, how server would open the START menu

                Well this is pretty straight forward as well. If you click on the image representing the remote desktop you will receive a button message (e.g. WM_LBUTTONDOWN) which includes the mouse coordinates. The message and it's associated parameters (wParam/lParam) are simply transmitted to the remote desktop server which simulates the event. Since the mouse coordinates supplied are relative to the upper left hand corner of the window client area (on the remote client side) you shouldn't have to do any conversion. To simulate mouse and keyboard events on the server side you can make a call to SendInput().

                M 1 Reply Last reply
                0
                • B Bacon Ultimate Cheeseburger

                  Madhu_Rani wrote:

                  If I have a click over START button of transmitted image, how server would open the START menu

                  Well this is pretty straight forward as well. If you click on the image representing the remote desktop you will receive a button message (e.g. WM_LBUTTONDOWN) which includes the mouse coordinates. The message and it's associated parameters (wParam/lParam) are simply transmitted to the remote desktop server which simulates the event. Since the mouse coordinates supplied are relative to the upper left hand corner of the window client area (on the remote client side) you shouldn't have to do any conversion. To simulate mouse and keyboard events on the server side you can make a call to SendInput().

                  M Offline
                  M Offline
                  Madhu_Rani
                  wrote on last edited by
                  #8

                  This was my biggest fear:) and now I got the idea. Any how today I gained knowledge about DC and how to capture desktop and now I am integrating all these pieces of code with client server application. Then after integration I would do the final stuff that you mentioned in your reply. THANKS

                  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