关于Netty4怎么实现服务发送数据之后等待返回结果

 我来答
福喜900
推荐于2016-12-06 · TA获得超过6.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:1亿
展开全部
[解决办法]
如果要确定包是一致性的,就用MD5做数据校验。
public void operationComplete(ChannelFuture future) {
}
这个地方是表示数据已经发送完毕。可以记录一些其他事情,比如日志。
发送完毕后,有新数据响应仍然走 Handler原来的流程。在这里面应该无法读取到响应数据。

(如果服务器同时向多个客户端,连续发送多条指令,每个不同的指令返回的数据不同,那么怎么确定该包为某一指令发出得到的数据)
这个地方 如果是多个客户端,那么每个客户端的ID是唯一的,netty里面有唯一ID号标示请求的唯一性。
还有一种方法是 发送请求时带一个唯一ID号,响应数据时也是带一个唯一ID号,这个唯一ID号就能确保客户端与服务器端的包是否一致性问题。
[解决办法]
Netty用的是NIO,是异步的,即你发送消息给Server后就不用等了,一边玩会去(传统的Socket是一直阻塞在这里等Server消息来,消息不到就一直等)。
等会Server发消息过来后会通知你消息到了,然后你再处理消息。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式