Hi Floh,
Thank's for sharing your experience - great input. I'll share my experience 
with libwebsockets when I have something to share..
Br
Thomas

Den onsdag den 18. januar 2017 kl. 17.23.40 UTC+1 skrev Floh:
>
> PS: I should mention that we tried different WebSocket wrapper solutions 
> (e.g. websockify's node and python versions running in a separate process), 
> and we ran into various compatibility problems between the different 
> client-side WebSocket implementations and the server side, mostly some 
> websocket "subprotocol" details that hadn't been implemented, so that the 
> WebSocket handshake between browser and server was denied by the browser 
> because the server didn't properly react to the subprotocol request.
>
> The Gorilla package worked with all client types and that's what we used 
> in the end.
>
> Am Mittwoch, 18. Januar 2017 17:20:40 UTC+1 schrieb Floh:
>>
>> Yes here :) We have recently built a little proof-of-concept 
>> client/server prototype where natively compiled clients connect through a 
>> TCP socket, and emscripten clients connect through WebSocket, both compiled 
>> from the same C++ source.
>>
>> The game server was written in golang, and we used 
>> https://github.com/gorilla/websocket as websocket proxy layer in the 
>> game server process, the game server opened one normal TCP port with 
>> Golang's native TCP support, and a separate WebSocket port next to it, 
>> managed by Gorilla.
>>
>> On the client side I wrote a minimal client socket wrapper which uses 
>> non-blocking sockets across all platforms (emscripten's socket wrapper is 
>> generally non-blocking).
>>
>> Unfortunately the whole project is closed source, but here's a gist with 
>> the (very quick'n'dirty) NetClient implementation which has all the 
>> interesting client-side stuff in it:
>>
>> https://gist.github.com/floooh/b4d25d0e11ef2be91dd19cb974bcc7a6
>>
>> We created 3 client types, one written in Unity exported to asm.js, one 
>> with Oryol (https://github.com/floooh/oryol), and one in Typescript with 
>> babylon.js (http://babylonjs.com/).
>>
>> The Unity client was about 4.9 MByte (theoretically we could have get 
>> this down to around 3.5 MB because the Unity physics code slipped in 
>> because of a stabbing test against the ground), the Oryol client around 410 
>> KBytes, and the Typescript client around 310 KBytes (mostly the minimized 
>> babylon.js blob), all sizes are compressed sizes.
>>
>> Fun project all in all :)
>>
>> Cheers,
>> -Floh.
>>
>> Am Mittwoch, 18. Januar 2017 15:48:22 UTC+1 schrieb Thomas Arnbjerg:
>>>
>>> Has anyone succeded in connecting an Emscripten socket client against a 
>>> libWebsocket based server?
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to