Comments (6)
Hi there,
Thanks for the kind words about seasocks. I'd doubt it's your fault here;
my guess is there's a flaw in the seasocks handling of websockets! I've
only ever used it with Chrome and Firefox. I don't have easy access to a
Windows machine for edge but I'll see what I can do!
Do you happen to have wireshark or similar installed? A really handy thing
to have would be a capture of the network traffic to and from seasocks. No
worries if not!
Thanks, Matt
On Wed, Nov 23, 2016 at 4:37 AM, naylor1043 [email protected]
wrote:
Firstly, seasocks is great! Loving the easy c++ connectivity.
Running seasocks on a Pi, using Win10 based clients. Chrome is fine, but
both IE and Edge cause "Received hybi frame with unknown opcode 10",
followed by a disconnect.Assume 99% this is a ME issue, so any ideas where I should start looking?
Cheers.
Bruce.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#40, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAmsdRYmX1mKrEHx2fxh8IOQnEjKb1_Oks5rBBdagaJpZM4K6bXD
.
from seasocks.
Hi Matt,
Thanks for the prompt response. Sorry, no WireShark I'm afraid. Takes IE/Edge 20-30 seconds before the error occurs after initial connection. All seems fine upto the error/disconnect.
Sorry, another more pressing question: my app is talking to hardware via USB on one thread, based on requestes through Seasocks in another thread where I'm calling Server->poll(0) + doing other housekeeping. So the need is an async response to post "WebSocket::send" data from the seasocks server thread or other thread? Looked at your example code in GitHub, but couldn't get my head around it - I'm just a dumb Windows MFC guy, never got into Std :(
Thanks once again.
Bruce.
from seasocks.
Hi Bruce. First up, I've been unable to find a Windows machine that's up to date enough to run Edge or a recent enough IE, but I'll keep looking.
As for the send, you have two alternatives:
- keep a list of things that need to be sent yourself and send them just before after the
server->poll()
on the thread. (What other housekeeping do you need btw? Thepoll
method is usually useful if you want to avoid multiple threads, and do the multiplexing yourself) - the "normal" way is to give Seasocks a
Runnable
or lambda. CallServer->execute([]{ socket->send(); })
or similar. This schedules the thing you pass to it to be run on the thread executing Seasocks. You'll have to be careful about lifetimes of thesocket
though.
The documentation is poor: I apologise. If you need more help please don't hesitate to contact me directly ([email protected]) and we can save polluting this bug with offtopic stuff!
Cheers, Matt
from seasocks.
And..back to the bug: "10" is hybi PONG which I am surprised to see Edge send...should be straightforward to fix though!
from seasocks.
A Pong frame MAY be sent unsolicited. This serves as a
unidirectional heartbeat. A response to an unsolicited pong is not
expected.
from seasocks.
I've checked what I believe is a fix for this bug: can you test when you have a mo and let me know? Thanks!
from seasocks.
Related Issues (20)
- Make Maximum Message Size Configurable HOT 1
- Own Error page support HOT 3
- Support for OPTIONS request for CORS reasons HOT 11
- Conform to conan licensing practices HOT 2
- Why does this API so strictly enforce thread management? HOT 1
- contiguous stream of data ? HOT 1
- PathHandler for /:id style API
- Title in readme HOT 2
- It's easy to get files outside of the static dir HOT 1
- Clarify use case and security disclosure etc
- unxi domain socket support for websocket
- Conan center build 1.4.5 failed HOT 12
- Clang 15 CI build uses ARM instead of x86_64 HOT 1
- Use Seasocks with makefile HOT 9
- Static link seasocks HOT 1
- Test migration to Catch 3.x
- Deleted HOT 2
- sending large HTTP responses doesn't work
- UTF-8 support
- type overflow _bytesSent
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from seasocks.