我正在使用socket.io-java-client库将Android应用程序连接到socket.io/node.js服务器。GitHub页面上说,当收到message
事件时,有两种方法可以执行:
public void onMessage(JSONObject json, IOAcknowledge ack)
和
public void onMessage(String data, IOAcknowledge ack)
我如何控制执行这些方法中的哪一个?我希望第一个(以JSONObject
为参数)执行,但第二个一直在执行。
在服务器端,我从使用socket.emit()
切换到使用socket.send()
,试图执行第一个onMessage()
,但这没有奏效。为了强制运行第一个onMessage()
,我是否需要在服务器端执行一些特定的操作?
以下是我如何从服务器发送消息的示例:
socket.on('sendVerificationCode', function(data) {
socket.send(JSON.stringify(VerifyObject.sendVerificationCode(), null, 3));
});
在服务器端执行此操作:
socket.json.send({property1: 'some value', property2: 'another value'});
现在将执行带有JSON参数的onMessage()
。