xpra icon
Bug tracker and wiki

Opened 10 months ago

Closed 6 months ago

#1211 closed defect (fixed)

websockify and named pipe timeouts on win32

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 1.0
Component: platforms Version: trunk
Keywords: win32 websockify Cc:

Description

For some unknown reason, sockets refuse to go into blocking mode on win32, causing all sorts of problems.
The patch attached tries to workaround this issue by wrapping the send and recv methods, but still fails to allow win32 to use websockify reliably as the http server code calls socket.sendall from its flush function, and this cannot be overriden.

Attachments (2)

html5-win32.patch (8.7 KB) - added by Antoine Martin 10 months ago.
try to use blocking socket everywhere and wrap win32 non-blocking socket calls
websockify-win32.patch (3.8 KB) - added by Antoine Martin 8 months ago.
allow websockify to run on win32

Download all attachments as: .zip

Change History (5)

Changed 10 months ago by Antoine Martin

Attachment: html5-win32.patch added

try to use blocking socket everywhere and wrap win32 non-blocking socket calls

comment:1 Changed 9 months ago by Antoine Martin

Milestone: 0.181.0

Milestone renamed

Changed 8 months ago by Antoine Martin

Attachment: websockify-win32.patch added

allow websockify to run on win32

comment:2 Changed 7 months ago by Antoine Martin

As of r13352 (+ minor fixup in r13355), we can use the websockify html5 server on win32. Websockify still needs the attachment/ticket/1211/websockify-win32.patch, which I will try to upstream, at least in part.

comment:3 Changed 6 months ago by Antoine Martin

Resolution: fixed
Status: newclosed

Some related changes in ticket:1298#comment:3, websockify re-fixed on win32 in r13866 + r13867: use a high timeout for http (high enough that we have time to service requests), only apply the socket workaround for websockify traffic.

Play platform bug whackamole for a few more hours: r13870 + r13872: I can now connect with the html5 client to all servers, including shadow servers on win32 and osx, and including through the proxy (made easier by the new username and password fields: r13869 + r13873)

Note: See TracTickets for help on using tickets.