Thread: RS Client over WebSocket [377]

Results 1 to 9 of 9
  1. #1 RS Client over WebSocket [377] 
    ???

    funkE's Avatar
    Join Date
    Feb 2008
    Posts
    2,612
    Thanks given
    255
    Thanks received
    989
    Rep Power
    1366
    Renamed 377 client connecting to Apollo.
    Java client hosting a web socket server.
    Simple canvas data refresh.
    Input events over web sockets.
    The URL fragment (#) defines the port.
    Supports multiple client instances on the same host.

    Attached image

    Can run at 40 FPS comfortably with raw, uncompressed image data
    As always, could use some optimization.
    .
    Reply With Quote  
     


  2. #2  
    Bossman

    ISAI's Avatar
    Join Date
    Sep 2012
    Posts
    1,916
    Thanks given
    655
    Thanks received
    1,366
    Rep Power
    5000
    Attached image
    Reply With Quote  
     

  3. Thankful user:


  4. #3  
    JavaScript Heathen 👹

    frostbit3's Avatar
    Join Date
    Mar 2012
    Age
    29
    Posts
    404
    Thanks given
    381
    Thanks received
    90
    Rep Power
    78
    this is incredible. great work!
    >> real life is pretty much the same as code. off-by-one, naming, and unterminated recursion
    Reply With Quote  
     

  5. Thankful user:


  6. #4  
    Extreme Donator


    Join Date
    Dec 2007
    Posts
    649
    Thanks given
    117
    Thanks received
    61
    Rep Power
    105
    Its a bit unclear. What language is the server programmed in? What advantage is there to use websocket for this purpose?
    Reply With Quote  
     

  7. #5  
    Respected Member


    Join Date
    Jan 2009
    Posts
    5,743
    Thanks given
    1,162
    Thanks received
    3,603
    Rep Power
    5000
    Quote Originally Posted by sircarl3 View Post
    Its a bit unclear. What language is the server programmed in? What advantage is there to use websocket for this purpose?
    The benefit is that it allows the client to be used in a browser. Standard TCP sockets are not available, but maybe available in WASM now?
    Reply With Quote  
     

  8. Thankful users:


  9. #6  
    Registered Member

    Join Date
    Feb 2009
    Age
    27
    Posts
    2,861
    Thanks given
    127
    Thanks received
    226
    Rep Power
    700
    So is this a client being rendered on the server and you are just sending the image data over websocket?

    Nice work! How fast is the input? e.g. camera movement
    Reply With Quote  
     

  10. Thankful user:


  11. #7  
    Donator

    Join Date
    Dec 2013
    Posts
    491
    Thanks given
    569
    Thanks received
    123
    Rep Power
    55
    Love the flexibility of webclients. Great work!
    Reply With Quote  
     

  12. Thankful user:


  13. #8  
    ???

    funkE's Avatar
    Join Date
    Feb 2008
    Posts
    2,612
    Thanks given
    255
    Thanks received
    989
    Rep Power
    1366
    Quote Originally Posted by jameskmonger View Post
    So is this a client being rendered on the server and you are just sending the image data over websocket?

    Nice work! How fast is the input? e.g. camera movement
    Very responsive, for an already pretty busy system. ~86ms latency when running locally.

    I still have yet to test running the client in Docker or on my virt. host on my network, but I anticipate it will be similar performance, maybe even better because I won't be running all the development tooling and other apps I use at the same time.


    Note: I had a bug in these screenshots that would cause like an internal request before rendering the canvas, limiting the framerate. That part is fixed and throughput is much higher because the canvas render was blocking longer than it should.

    The raw pixel data was quite large because it had to send all pixels each frame but it isn't really that bad:
    chrome_B0C7mYKVKU.png

    Support for multiple formats, though. So you could theoretically just send a request to the server to format the data differently.
    chrome_seRvOziIc4.png

    There is a separate format which I used (can't recall atm) which got me down to ~32kbps average per frame.

    Further improvements could be things like treating this as a video stream and encoding it using an even better transport encoding/decoding supported by my hardware, but right now it's a pretty cool proof of concept that RS on the web isn't dead! Not yet!

    You could theoretically use this to make just a simple tool for yourself that adds another layer of security when running third-party clients by using virtualization.
    .
    Reply With Quote  
     

  14. #9  
    Registered Member
    Join Date
    Apr 2022
    Posts
    33
    Thanks given
    2
    Thanks received
    6
    Rep Power
    36
    Nice. I can't even run an RSPS client in a web browser, despite being around since FrugooScape hype days.
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Replies: 108
    Last Post: 03-20-2009, 08:03 PM
  2. Replies: 35
    Last Post: 07-05-2008, 08:38 PM
  3. 377 Client Source [ACTUAL 377]
    By PeeHPee in forum Downloads
    Replies: 34
    Last Post: 05-03-2008, 08:41 AM
  4. Replies: 20
    Last Post: 03-09-2008, 01:40 PM
  5. How do i get the newest RS Client?
    By Mime in forum RS2 Client
    Replies: 2
    Last Post: 01-27-2008, 10:33 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •