Comments (4)
Maybe use an AtomicLong
with a seed value from System.currentTimeMillis
?
from engine.io-client-java.
Hi @trinopoty, sorry for the delay on this issue.
this is causing problems like two distinct connections getting the same id
If I'm not mistaken, the string created by yeast is used in the query params, to prevent a proxy from caching the response of the server. Are you suggesting it does happen when sending several HTTP requests in a row?
Note: in the JS server, the session ID (sid
in the query param) is generated by the base64id
module here
from engine.io-client-java.
Yeast is using new Date().getTime()
to generate a session id. On the server library, this was causing issues where two unrelated connections got the same sid
because they came in at around the same time. I switched it over to an AtomicLong
based implementation.
From the looks of it, this will not be too much of a problem in this library since it does not generate sid
.
from engine.io-client-java.
Oh ok, thanks for the explanation!
That being said, the yeast()
method is indeed not thread safe, which might cause some problems when creating several java clients (during load tests, for example).
from engine.io-client-java.
Related Issues (20)
- Can i use this client to connect Engine.IO Java Server HOT 1
- io.socket.engineio.client.EngineIOException: websocket error HOT 3
- Messages beyond first one are serialized but not flushed HOT 3
- Ping timeout from server HOT 3
- Upgrade to OkHttp 4.x?
- Issue with EventThread and class loaders
- JNI ERROR (app bug): weak global reference table overflow (max=51200) io.socket.thread.EventThread??
- Websocket connection closed with 1001 when high loading (1M messaging) HOT 4
- allowRequest Error code read from android
- Polling broken with android 0.8.3 and server >= 2.1.0 HOT 2
- Send custom headers HOT 2
- Cant find some fields in
- Cant find some fields in io.socket.engineio.client$Transport HOT 2
- Attempt to invoke virtual method 'java.lang.String okhttp3.MediaType.toString()' on a null object reference HOT 4
- Cannot use a custom path HOT 5
- test
- How to Send Custom Header in Android HOT 5
- Engine.IO Java Server
- Add allEvent listener to emitter HOT 3
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 engine.io-client-java.