什么是从 unity3d 发送 json

What's send json from unity3d

我决定在unity3d上用javascript重写游戏客户端。 Java netty 上的套接字服务器。

我正在使用 c# 库 socket.io 发送 json。

JSONObject j = new JSONObject();
j.AddField("q", "q");
Debug.Log(j.ToString());
socket.Emit(j.ToString());

Debug.Log(j.ToString()); 显示 {"q":"q"},但服务器消息总是在文本 42["{"q":"q"}"].

前带有 42
System.out.println(((TextWebSocketFrame) frame).text());
=> 42["{"q":"q"}"]

这个42是什么?显示 42,无论出现什么 json。 来自 javascript 的 Json 已正确接收。

在我看来,您正在通过 socket.io 发送数据,然后尝试通过 netty 接收数据。

Socket.io 不是(纯粹)用于打开 websocket 连接并通过它发送数据的库,它在 websocket 层之上有一个消息和通道协议。

尝试确保双方使用相同的库。

问题是第一个数字表示 socket.io EnginePacketType,第二个 socketPacketType.

EnginePacketType.MESSAGE = 4;
packet.socketPacketType(EVENT) = 2;