Comments (4)
Thanks for reporting, I'm just start to use QT for this demo, what you guess about the thread is true, and the purpose I used Signals/Slots is to invoke the UI operations in UI thread. It seems I choose a wrong way? I'll try to verify.
from socket.io-client-cpp.
Hi, @lultimouomo I've test by set breaking point at AddListItem()
(which is triggered by signal from asio thread) and OnMessageReturn()
(which is triggered by return key, absolutely in UI thread)
I found AddListItem()
executes in the same thread with OnMessageReturn()
,
which means the signals/slots mechanism WILL post the invocation to the UI thread.
from socket.io-client-cpp.
You're right, I thought the connection type (i.e. whether to execute the slot in line or post an event on the loop) was chosen at connection time, according to the thread affinity of the sender and the receiver.
http://doc.qt.io/qt-5/qt.html#ConnectionType-enum states instead that it's chosen when the signal is actually emitted, so the code is OK.
I would consider indicating Qt::QueuedConnection explicitely anyway, since it makes the code intention more clear.
from socket.io-client-cpp.
Hi, @lultimouomo I think indicating Qt::QueuedConnection explicitly is not the good choice, AutoConnection is better than QueuedConnection in this case because If you did signal AddListItem
in UI thread somewhere, inline execution is preferred, so you can indicating Qt::AutoConnection explicitly instead.
from socket.io-client-cpp.
Related Issues (20)
- Building with Docker
- Data race in sio_client_impl.cpp
- Socket.io client in DLL HOT 1
- No build directory created when building with CMAKE HOT 1
- installed library using vcpkg is support tls? help me. HOT 1
- void client_impl::on_close(connection_hdl con) called 30 seconds after I turn off wifi on MacOS
- Crashed when delete sio::client HOT 1
- Crash with libsioclient_tls.a
- Authorization problem
- Can't connect to NodeJS server if a browser socket.io client has connected first
- get_sessionid() is not same value with server side HOT 1
- Auth Token is always undefined when connecting to nodejs server HOT 1
- error: expected unqualified-id before ‘(’ token when using emit event HOT 1
- asio.ssl error
- How to use TLS mod and not TLS?
- Support running in IOT device?
- When can we expect a v4? Any way to support timeout on emit?
- Compatibilizing with C++ and Unreal Engine?
- Compile warning possible buffer overflow
- connection can't be build
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 socket.io-client-cpp.