How to make Java Socket.IO client decode/encode binary, not json?
I'm using Socket.IO client library from this repository: io.socket:socket.io-client:1.0.0
and server library from this com.corundumstudio.socketio:netty-socketio:1.7.12
.
I'm emitting a simple data object between client and server. Server works in binary and fires event listener only when binary data comes with this event:
socketServer.addEventListener("event", ResponseData.class, new DataListener<ResponseData>() {
@Override
public void onData(SocketIOClient client, ResponseData data, AckRequest ackSender) throws Exception {
// data is a binary
}
});
However, client works in json and not binary. It gives received data in json, but I can convert it into object. Problem is that when I emit object, it converts it into json, so server doesn't call the event listener on it.
socket.on("event", new Emitter.Listener() {
@Override
public void call(Object... args)
{
// args[0] is a JSONObject not binary!
clientSocket.emit("event", new ResponseData("var")); // gets converted into JSONObject
}
});
How can I make the client library work in binary and not in json? I see it has decoder
, encoder options in
IO.Options` class that may help.
java json socket.io socket.io-1.0 socket.io-java-client
add a comment |
I'm using Socket.IO client library from this repository: io.socket:socket.io-client:1.0.0
and server library from this com.corundumstudio.socketio:netty-socketio:1.7.12
.
I'm emitting a simple data object between client and server. Server works in binary and fires event listener only when binary data comes with this event:
socketServer.addEventListener("event", ResponseData.class, new DataListener<ResponseData>() {
@Override
public void onData(SocketIOClient client, ResponseData data, AckRequest ackSender) throws Exception {
// data is a binary
}
});
However, client works in json and not binary. It gives received data in json, but I can convert it into object. Problem is that when I emit object, it converts it into json, so server doesn't call the event listener on it.
socket.on("event", new Emitter.Listener() {
@Override
public void call(Object... args)
{
// args[0] is a JSONObject not binary!
clientSocket.emit("event", new ResponseData("var")); // gets converted into JSONObject
}
});
How can I make the client library work in binary and not in json? I see it has decoder
, encoder options in
IO.Options` class that may help.
java json socket.io socket.io-1.0 socket.io-java-client
add a comment |
I'm using Socket.IO client library from this repository: io.socket:socket.io-client:1.0.0
and server library from this com.corundumstudio.socketio:netty-socketio:1.7.12
.
I'm emitting a simple data object between client and server. Server works in binary and fires event listener only when binary data comes with this event:
socketServer.addEventListener("event", ResponseData.class, new DataListener<ResponseData>() {
@Override
public void onData(SocketIOClient client, ResponseData data, AckRequest ackSender) throws Exception {
// data is a binary
}
});
However, client works in json and not binary. It gives received data in json, but I can convert it into object. Problem is that when I emit object, it converts it into json, so server doesn't call the event listener on it.
socket.on("event", new Emitter.Listener() {
@Override
public void call(Object... args)
{
// args[0] is a JSONObject not binary!
clientSocket.emit("event", new ResponseData("var")); // gets converted into JSONObject
}
});
How can I make the client library work in binary and not in json? I see it has decoder
, encoder options in
IO.Options` class that may help.
java json socket.io socket.io-1.0 socket.io-java-client
I'm using Socket.IO client library from this repository: io.socket:socket.io-client:1.0.0
and server library from this com.corundumstudio.socketio:netty-socketio:1.7.12
.
I'm emitting a simple data object between client and server. Server works in binary and fires event listener only when binary data comes with this event:
socketServer.addEventListener("event", ResponseData.class, new DataListener<ResponseData>() {
@Override
public void onData(SocketIOClient client, ResponseData data, AckRequest ackSender) throws Exception {
// data is a binary
}
});
However, client works in json and not binary. It gives received data in json, but I can convert it into object. Problem is that when I emit object, it converts it into json, so server doesn't call the event listener on it.
socket.on("event", new Emitter.Listener() {
@Override
public void call(Object... args)
{
// args[0] is a JSONObject not binary!
clientSocket.emit("event", new ResponseData("var")); // gets converted into JSONObject
}
});
How can I make the client library work in binary and not in json? I see it has decoder
, encoder options in
IO.Options` class that may help.
java json socket.io socket.io-1.0 socket.io-java-client
java json socket.io socket.io-1.0 socket.io-java-client
asked Jan 1 at 18:02
Gintas_Gintas_
2,30483058
2,30483058
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53997711%2fhow-to-make-java-socket-io-client-decode-encode-binary-not-json%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53997711%2fhow-to-make-java-socket-io-client-decode-encode-binary-not-json%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown