Java mina socket编程时readLine()阻塞问题

本文介绍了在使用Java Mina进行Socket编程时遇到的readLine()阻塞问题。问题根源在于服务端Mina没有调用session.close(),导致客户端的BufferedReader.readLine()一直阻塞。解决方案是在服务端的messageSend(IoSession session, Object message)方法中添加session.close(),从而确保正常执行。" 85319689,8242733,C++ STL 容器特性与比较,"['C++编程', '数据结构', 'STL容器']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


问题:

   服务端是用mina开发,客户端是普通socket,用流 BufferedReader 的 readline()方法 读服务端的数据流,一直卡住,专业说法叫阻塞.

就是in.readline();这里一直在执行中的。半天没反应。


在网上查了,好多资料,说什么readline()必须要加 /n这样的。我试着加了/n,是可以执行了。

但,基本原因其实不是加/n,而是服务端mina没用session.close;

我在发送方法messageSend(IoSession session,Object message)里,加了session.close;就正常执行了。


哎,天天上网上查资料,我也贡献下,解决问题的经验。

  


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值