Использование Ning для создания и подключения к WebSocket, после моя конфигурация,Ning: Подключение к WebSocket и ждать ответа
NettyAsyncHttpProviderConfig config = new NettyAsyncHttpProviderConfig();
config.addProperty(NettyAsyncHttpProviderConfig.USE_BLOCKING_IO, "true");
AsyncHttpClientConfig.Builder builder = new AsyncHttpClientConfig.Builder()
.setAsyncHttpClientProviderConfig(config);
AsyncHttpClient client = new AsyncHttpClient(
new NettyAsyncHttpProvider(builder.build()));
AsyncHttpClient.BoundRequestBuilder requestBuilder = client.prepareGet(createUri(method))
.addHeader(HttpHeaders.Names.CONNECTION, "Upgrade")
.addHeader(HttpHeaders.Names.UPGRADE, "WebSocket");
websocket = requestBuilder.execute(new WebSocketUpgradeHandler.Builder()
.addWebSocketListener(this).build()).get();
с помощью WebSocket отправить текстовое сообщение,
if (websocket!=null && websocket.isOpen())
websocket.sendTextMessage(jObj.toString());// send
onMessage()
метод слушатель добавит ответ в список
@Override
public void onMessage(String message) {
serverResponse.add(message);
}
После отправки текста мне Ssage, у меня есть метод, который форматирует ответ и сохранить результат
result = responseFromServer();
private String responseFromServer() {
String response = null;
sleep(100);
if(!serverResponse.isEmpty())
//format the message which is added in list
return response;
}
вопрос, если я не имею «сна (100)» в указанном выше способе, для request1- ответ утратившим для request2, я получаю ответ1. Я хотел бы, чтобы websocket работал как синхронный, так что, как только я отправлю сообщение, он должен ждать unitll, полученный ответ и вперед! Какие-либо предложения!
это работает для меня! Благодаря! – user1609085
@sssV вы можете уточнить, что такое «некоторый объект» в этом случае? – Tito