我正在使用websocket连接与服务器进行通信。 现在,我们建立了一个连接,并能够使用Autobahn库发送和接收消息。
以下是代码:
private void start() {
// wsuri is the url which has to be hit for connecting to the server i.e
// "ws://hostname:port "
final String wsuri = "ws://" + mHostname.getText() + ":"
+ mPort.getText();
// showing status on the UI.
mStatusline.setText("Status: Connecting to " + wsuri + " ..");
// enabling disconnect button clicking on which the connection will be
// disconnected.
setButtonDisconnect();
try {
mConnection.connect(wsuri, new WebSocketConnectionHandler() {
@Override
public void onOpen() {
// If connection is open, then status will be updated to
// "connected to..."
mStatusline.setText("Status: Connected to " + wsuri);
savePrefs();
// enabling mSendMessage button and mMessage edit Text.
mSendMessage.setEnabled(true);
mMessage.setEnabled(true);
}
@Override
public void onTextMessage(String payload) {
Log.d("ss", payload);
alert(payload);
}
@Override
public void onClose(int code, String reason) {
// If connection is lost, alert will be shown connection is
// lost and status will be set to "Ready".
alert("Connection lost.");
mStatusline.setText("Status: Ready.");
setButtonConnect();
// disabling mSendMessage button and mMessage edit Text.
mSendMessage.setEnabled(false);
mMessage.setEnabled(false);
}
});
} catch (WebSocketException e) {
Log.d(TAG, e.toString());
}
}
我们只有一个onTextMessage(String payload)方法来处理来自服务器的响应。
并向服务器发送消息,我们使用mConnection.sendTextMessage(mMessage.getText().toString());
但现在我们面临的问题是如何在服务器上点击api?或者说我想要一些设备列表或device_Status等会如何发生?
知道如何做到这一点?目前我正在考虑发送一些" key":" pair" json形式的消息中的值,服务器将通过它来识别我做出的请求......
我仍然不确定这是否正确?如果有人可以帮助我。