-
February 11th, 2014, 04:11 AM
#1
remote monitoring application
Hi all
I'm developing an employee monitoring software in C++. It uses TCP connections for client-server interaction. I've define some commands for remote controlling like SHUTDOWN, PRINTSCR, MESSAGE GETINFO etc. Everything works fine except the remote screen previews. In the server app. it should be possible to view multiple remote screens at a time. The server sends periodic requests to clients to send its screenshots back. The request includes the required picture size also so that the server need not resize the full size image, and also it reduce network overheads.
The client application captures, resizes, convert to png format and sends it over tcp connection to server. The server converts it back to BMP and assigns to the bitmap control in a dialog.
This works fine in localhost. But in vmware the preview becomes corrupted. The bitmap loads fine in the picture control. But the image is corrupted. Anyone please suggest me a solution. Is tcp connection reliable?
I've attatched 4 files, the screenshots of server application.
-
February 11th, 2014, 07:50 AM
#2
Re: remote monitoring application
looks like you'll ave to implement some form of flow control to make sure all packets arrive before you try to display the bitmap.
-
February 11th, 2014, 07:56 AM
#3
Re: remote monitoring application
TCP should be reliable yes, but are you sure you're using TCP and not UDP (which isn't).
ALso, TCP only guarantees delivery and ordering for an entire packet.
If you split the transmition in multiple TCP packets, there is no guarantee those packets will arrive in order (only that packets themselves are complete).
-
February 11th, 2014, 10:38 AM
#4
Re: remote monitoring application
Here, this may help out.
Last edited by CoriNEIT; February 12th, 2014 at 09:50 AM.
-
February 11th, 2014, 01:50 PM
#5
Re: remote monitoring application
thanks all for your replies.
I'm sending the whole data as such. Its around some 60kB to 100kB of data. Also I increased the send and receive buffer to 128kB, using setsockopt function.
In the server side, instead of setting it to the picture control, i saved the image to file. And I did this in client side also. When I did a file compare of these two files, the file size were same. But there were some mismatches on compare. I used comp command to compare.
-
February 13th, 2014, 02:40 AM
#6
Re: remote monitoring application
Anybody please suggest
Which is more efficient?
1. Using Windows Terminal services
OR
2. Manually taking screenshots, converting it to PNG and sending?
My requirement is that it should be possible to show multiple screens at a time on server application.
-
February 13th, 2014, 08:02 AM
#7
Re: remote monitoring application
RDP is more efficient, since it doesn't need to send everything, it's optimized to only send the parts that have changed, and can do this at the GDI primitives level.
also
what you're doing and terminal services is not the same thing. Remote management/remote assistance comes close, but it's still not the same, you can't just "spy" over RDP without remote approval.
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|