java实现等待程序响应_java – 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);

}

发送文本消息后,我有方法格式化响应并保存结果

result = responseFromServer();

private String responseFromServer() {

String response = null;

sleep(100);

if(!serverResponse.isEmpty())

//format the message which is added in list

return response;

}

问题是,如果我在上面的方法中没有’sleep(100)’,对于request1- response为null,对于request2,我得到response1.我希望websocket能够同步工作,这样,一旦我发送消息,就应该等待响应接收并继续前进!有什么建议!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值