在用TCP时 ReandLine()出有关问题了

在用TCP时 ReandLine()出问题了。
在用TCP实现Socket与server连接了,为什么到ReadLine()的时候就自动停止执行了,z这是为什么?还有就是不用线程可不可以实现服务器与客户端可以相互发送消息,而不是要一个一条消息的那样。
------解决思路----------------------
ReadLine()应该位于独立的线程吧,否则会使主线程阻塞而使程序假死。
------解决思路----------------------
.第一个问题:
ReadLine函数需要读取到至少一个换行符才会返回哦。如果你的另一端没有向流中写入换行符(\n就可以),或者没有flush流(字符可能卡在缓存中),就会出现这样的问题。

第二个问题:
如果不想显式的使用多线程,你可以使用异步IO。有轮询式(socketChannel)和回调式(AsynchronousSocketChannel)两种可选。第一种可以在一个线程中处理多个socket连接,而第二种可以在事件发生时调用预先设置的回调函数来完成处理。如果你想在Socket中使用类似的特性,那只能设置“接收超时”属性,来避免卡死在read方法上。

其实无论怎样设计,在系统内部io使用的线程和当前程序执行的线程肯定不会是同一个。但是我们可以使用各种机制(比如事件通知,轮询,回调等等)封装这些多线程操作,让编程者更专注应用逻辑。
------解决思路----------------------
1、readline被挂起了,说明在等待对方发送消息啊。
2、不用线程的话,就不要用bio了,用aio是可以的。