Comments (9)
In the connect
event handler you can return False
to reject a connection. As far as disconnecting from the server, I'll have to see how if the Socket.IO protocol allows that, I don't think I've seen a way to do that.
from python-socketio.
Disconnect (in my case) is require also in others function that the connect (i don't have all the users information during the initial connection, only after the auth process.).
So returning False is not enough :)
from python-socketio.
Yes, I agree that disconnect
can be useful. I just couldn't find how to implement it, need to read the js client code more carefully to see what can I send it to close a connection, or maybe just fake it, which is to keep it open but don't let any messages in or out.
from python-socketio.
This is now available. Closing.
from python-socketio.
Just wondering how it is implemented eventually, closing the socket connection or faking disconnect?
I am using python-socketio-1.6.0 to setup a server, and facing a problem that the tcp socket are stilled in ESTAB status after invoking socketio.Server.disconnect(). Not sure it is related to this issue or not?
Thanks.
from python-socketio.
@QuingZ This discussion was regarding disconnecting from the client. Disconnecting from the server has been implemented long ago and as far as I know works fine. If you try the example in this app, there is a disconnect button that triggers a server-initiated disconnection.
from python-socketio.
I am using python-socketio-client to connect to server. After socketio.disconnect() is invoked from server, the client can receive "disconnect" message. However, when checking the socket connection by "ss -at", I found that the socket is not closed unless the client process is closed or terminated. My question is that, does disconnecting from the server close the tcp socket, or just keep the socket open but doesn't let any messages in or out? Thanks.
from python-socketio.
That really depends on the WebSocket implementation. This package is not managing the connection at the socket level, it relies on a base WebSocket implementation to do that, and there are currently three of these that are supported. I guess it is possible that when the connection ends there is no proper cleanup of the underlying socket, but that would be something to investigate on the particular WebSocket implementation you are using (eventlet, gevent or uwsgi).
from python-socketio.
I see. I am using eventlet, seems it doesn't close socket properly. I will do same research on it, hopefully can find something.
Thanks for your help!
from python-socketio.
Related Issues (20)
- May need to remove "pip install aioredis" from the documentation
- 5.10.0: pytest is failing HOT 4
- `max_http_buffer_size` value seem ignored by the server HOT 14
- Implementing `__enter__`/`__exit__` on `Client` like `SimpleClient` HOT 2
- Request: type hints (e.g. for mypy) HOT 3
- sio.disconnect() will connect after a connection drop HOT 21
- Update documentation of usage with Gunicorn + gevent/eventlet HOT 5
- Wildcard / catch-all namespace for event handlers HOT 1
- Heroku Problems with Gevent (Request Timeout + Polling Hanging)
- Concurrent broadcasting HOT 2
- All connections stop processing events at the same time
- Session not found when using sio.transport(sid) due to wrong session id HOT 1
- _ping background task not cancelled by async_server.shutdown() HOT 1
- Option to reconnect on initial connection failure
- Value error : Invalid aysnc_mode specified HOT 2
- Python socket ids for client and server dont match. HOT 6
- AsyncServer disconnect event not sent with `aiohttp>=3.9.0` HOT 2
- Test failure with .helpers import AsyncMock HOT 1
- Unable to cancel asynchronous task while client is reconnecting HOT 2
- Namespace catch-all logic HOT 2
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 python-socketio.