Results 1 to 20 of 20

Thread: [VB6] Simple VNC Server using DXGI Desktop Duplication

  1. #1

    Thread Starter
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,027

    [VB6] Simple VNC Server using DXGI Desktop Duplication

    https://github.com/wqweto/VbVncServer

    A single-class VNC server for embedding in LOB applications for built-in client support.

    Very much work in progress but first cut seems to work.

    Based on RFC 6143 and can be used with any VNC viewer like RealVNC or any other you prefer best.

    cheers,
    </wqw>

  2. #2
    Hyperactive Member
    Join Date
    Mar 2018
    Posts
    445

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    getting errors about missing methods

    m_oZipArchive.DeflateEnd

    m_oZipArchive.DeflateInit

    where can i get the latest cZipArchive?

  3. #3

    Thread Starter
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,027

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    I missed updating the submodules on last commit, incl. the newest ZipArchive support for chunked deflate used for the zlib streams in VNC.

    Fixed and force pushed, sorry about that. You might need git reset origin/master --hard to sync changes.

    Quote Originally Posted by DllHell View Post
    where can i get the latest cZipArchive?
    In project's lib directory on github the submodules are linked to their original repos.

    Btw, latest version supports TightVNC compressed encoding too.

    cheers,
    </wqw>

  4. #4
    Addicted Member
    Join Date
    Jun 2016
    Location
    Espaņa
    Posts
    245

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    Very good project.
    In Local "VNC-Viewer" works pretty well.
    But connected to the mobile "VNC Viewer - Remote Desktop", the connection is lost many times, that is normal.
    It would be possible to control mouse and keyboard.

    regards good job

  5. #5

    Thread Starter
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,027

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    Quote Originally Posted by yokesee View Post
    It would be possible to control mouse and keyboard.
    I just finished implementing pointer events in commit fed6ff8 so now you can control the server with the mouse. This also fixed cursor pseudo-encoding so that server's mouse pointer shape in transferred to the client for better mouse pointing experience/responsiveness.

    Is this failing mobile "VNC Viewer - Remote Desktop" an Android or iPhone app?

    cheers,
    </wqw>

  6. #6
    Lively Member
    Join Date
    Aug 2017
    Posts
    72

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    great job, is there a possibility of creating the client in the future? I wanted to implement an "alternative teamvier", because I have a server with a valid IP

  7. #7

    Thread Starter
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,027

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    I was recently thinking about implementing a DirectX based one because RealVNC and TightVNC viewers are GDI based and are mightily lagging on weak video cards.

    I'm comparing VNC implementations directly with AnyDesk which is using the same Desktop Duplication for the video capture but in addition its secret souce is some kind of custom DirectX video codec both on the server to encode and on the client to decode *and* display using DirectX. The viewer happens to be so much smoother and refresh rate synchronized experience.

    Anyway, I'll try to complete this VNC server with keyboard, clipboard and file transfer support first which is my immediate plan as I need this for our LOB product support needs and just use TightVNC for the viewer in the meantime.

    Edit: Just released version 0.0.2 of the VNC server in VB6 for download and test.

    cheers,
    </wqw>

  8. #8
    New Member
    Join Date
    Jan 2021
    Posts
    8

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    this project is really cool, thanks for posting it.

    you probably know this already but libvpx is mentioned a lot. I think Chrome Remote Desktop uses it and there is some chatter online about anydesk using it too. teamviewer may be the "unnamed startup" in this x264 post
    https://web.archive.org/web/20150306...x/archives/249

    > I need this for our LOB product support needs and just use TightVNC for the viewer in the meantime.

    how are you handling firewalls and port forwards? We have a bunch of different clients and dealing with their routers and firewalls was a nightmare. teamviewer was nice because the connections always seem to work

  9. #9

    Thread Starter
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,027

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    Quote Originally Posted by strangeprob View Post
    how are you handling firewalls and port forwards? We have a bunch of different clients and dealing with their routers and firewalls was a nightmare.
    The client's VNC server is listening on 127.0.0.1:5900 so it's not accessible even from their own LAN and then using plink.exe to "phone home" to an sshd server of ours and open a *reverse* TCP tunnel with something like -R 7033:127.0.0.1:5900. This way each client has an assigned port on the sshd server (e.g. 7033 in this case is for CompanyA) where it's VNC traffic is tunneled to.

    We might have to automate the (dynamic) port assignment at some point with some kind of client active/inactive status tracking service (or just use XMPP) but we are not there yet.

    cheers,
    </wqw>

  10. #10

    Thread Starter
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,027

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    Quote Originally Posted by wqweto View Post
    I was recently thinking about implementing a DirectX based one because RealVNC and TightVNC viewers are GDI based and are mightily lagging on weak video cards.
    UltraVNC viewer is using DirectX for the renderer and this viewer is what I'm currently aiming/testing with the VNC server.

    Just implemented JPEG Compression (for Tight Encoding) in commit 6148a09 using h/w accelerated and/or SIMD optimized WIC and the difference is noticable. Watching a real-time youtube video over VNC peaks at 1-2% CPU usage while the server is running being debugged in the VB6 IDE.

    cheers,
    </wqw>

  11. #11
    Lively Member
    Join Date
    Aug 2017
    Posts
    72

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    just thinking about it, would it be possible to restrict the capture to a window?

  12. #12

    Thread Starter
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,027

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    Quote Originally Posted by germano.barbosa View Post
    just thinking about it, would it be possible to restrict the capture to a window?
    This actually makes a lot of sense to monitor our target LOB application windows only.

    There are enough encodings in the VNC protocol for dynamic desktop sizing (targeted at when server is switching screen resolutions) and multi-monitor support which can be used to dynamicly size capture on a specific window or several ones in a target LOB application.

    Unfortunately there are other priorities first and this research will have to wait until everything planned is complete I suppose.

    cheers,
    </wqw>

  13. #13

  14. #14
    Addicted Member
    Join Date
    Jun 2016
    Location
    Espaņa
    Posts
    245

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    very good job
    What little proven, works great

    regards

  15. #15

  16. #16
    Taking a Break
    Join Date
    Jan 2020
    Posts
    1,340

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    Quote Originally Posted by wqweto View Post
    https://github.com/wqweto/VbVncServer/releases

    All features complete!

    cheers,
    </wqw>
    how to show remote desktop ,only show one exe? like abc.exe? remote app?

    for use only one exe on remote pc from client pc

  17. #17
    Lively Member
    Join Date
    Aug 2017
    Posts
    72

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    Would you like to make a proxy server, to make a reverse connection with a central server that is listening, and on that same server connect a vncview by ID? I wanted to do an "alternative teamvier"

  18. #18

    Thread Starter
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Posts
    3,027

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    Quote Originally Posted by germano.barbosa View Post
    Would you like to make a proxy server, to make a reverse connection with a central server that is listening, and on that same server connect a vncview by ID? I wanted to do an "alternative teamvier"
    Something like this?

    cheers,
    </wqw>

  19. #19
    Lively Member
    Join Date
    Aug 2017
    Posts
    72

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    exactly

  20. #20
    Lively Member
    Join Date
    Aug 2017
    Posts
    72

    Re: [VB6] Simple VNC Server using DXGI Desktop Duplication

    Quote Originally Posted by wqweto View Post
    Something like this?

    cheers,
    </wqw>
    I would have to connect to this repeater, I tried here anyway and it doesn't connect, I suspect that I also have to put an ID

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width