Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When I sent a byte [], the client failed to receive it. #5011

Closed
grootfan-lb opened this issue Apr 26, 2024 · 1 comment
Closed

When I sent a byte [], the client failed to receive it. #5011

grootfan-lb opened this issue Apr 26, 2024 · 1 comment

Comments

@grootfan-lb
Copy link

server: java netty-socketio.version:2.0.3
The client receives most of the data as null

Server

byte[] compressedData = Snappy.compress(JSONObject.toJSONString(str));
               if(Arrays.isNullOrEmpty(compressedData)) {
                   return;
               }
clientStore.getSocketIoServer().getRoomOperations(serverId).sendEvent(TopicEnum.PRICE_NEWS.getTopic(),compressedData);

There is no problem when sending other types.
Fixed byte[] will not work either.

                List<Map<String, Object>> list = new ArrayList<>();

                Map<String, Object> map1 = new HashMap<>();
                map1.put("name", "Alice");
                map1.put("age", 30);
                list.add(map1);

                byte[] byteArray = serialize(list);
                clientStore.getSocketIoServer().getRoomOperations(serverId).sendEvent(TopicEnum.PRICE_NEWS.getTopic(),byteArray);

ios, Android, java Errors reported when receiving

Error message
java: socket.io-client v2.1.0

Exception in thread "EventThread" java.lang.NullPointerException: Cannot invoke "org.json.JSONArray.length()" because "array" is null
	at io.socket.client.Socket.toArray(Socket.java:515)
	at io.socket.client.Socket.onevent(Socket.java:344)
	at io.socket.client.Socket.onpacket(Socket.java:314)
	at io.socket.client.Socket.access$100(Socket.java:19)
	at io.socket.client.Socket$2$2.call(Socket.java:92)
	at io.socket.emitter.Emitter.emit(Emitter.java:117)
	at io.socket.client.Manager.ondecoded(Manager.java:361)
	at io.socket.client.Manager.access$1200(Manager.java:22)
	at io.socket.client.Manager$5.call(Manager.java:355)
	at io.socket.parser.IOParser$Decoder.add(IOParser.java:117)
	at io.socket.client.Manager$2.call(Manager.java:333)
	at io.socket.emitter.Emitter.emit(Emitter.java:117)
	at io.socket.engineio.client.Socket.onPacket(Socket.java:556)
	at io.socket.engineio.client.Socket.access$1000(Socket.java:29)
	at io.socket.engineio.client.Socket$5.call(Socket.java:335)
	at io.socket.emitter.Emitter.emit(Emitter.java:117)
	at io.socket.engineio.client.Transport.onPacket(Transport.java:124)
	at io.socket.engineio.client.Transport.onData(Transport.java:120)
	at io.socket.engineio.client.transports.WebSocket.access$200(WebSocket.java:22)
	at io.socket.engineio.client.transports.WebSocket$1$3.run(WebSocket.java:84)
	at io.socket.thread.EventThread$2.run(EventThread.java:80)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:842)

ios, Android Received as null

And the received byte[] data will have an extra 4 at the front.
image

@grootfan-lb grootfan-lb added the to triage Waiting to be triaged by a member of the team label Apr 26, 2024
@darrachequesne
Copy link
Member

Hi! Could you please open an issue in the following repository? Thanks!

@darrachequesne darrachequesne added needs investigation and removed to triage Waiting to be triaged by a member of the team labels Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants