请教一个java socket的问题
有这样一个例子:
程序运行后,用telnet 127.0.0.1 8189连接服务器,然后输入
Hello Server
服务器返回
Echo:Hello Server
然后再输入BYE
服务器返回
Echo:BYE
有个问题是:循环的条件是 while(!done && in.hasNextLine())
当第一次输入Hello Server之后,in.hasNextLine()应该为false了啊?为什么没有退出循环呢?
public class EchoServer
{
public static void main(String[] args)
{
try
{
ServerSocket s = new ServerSocket(8189);
Socket incoming = s.accept();
try
{
InputStream inStream = incoming.getInputStream();
OutputStream outStream = incoming.getOutputStream();
Scanner in = new Scanner(inStream);
PrintWriter out = new PrintWriter(outStream, true);
out.println("hello! enter BYE to exit.");
boolean done = false;
while(!done && in.hasNextLine())
{
String line = in.nextLine();
out.println("Echo:" + line);
if(line.trim().equals("BYE"))
done = true;
}
}
finally
{ incoming.close();}
}
catch(IOException e)
{
}
}
}
程序运行后,用telnet 127.0.0.1 8189连接服务器,然后输入
Hello Server
服务器返回
Echo:Hello Server
然后再输入BYE
服务器返回
Echo:BYE
有个问题是:循环的条件是 while(!done && in.hasNextLine())
当第一次输入Hello Server之后,in.hasNextLine()应该为false了啊?为什么没有退出循环呢?
...全文
相关推荐
基于java socket实现 聊天小程序
主要介绍了基于java socket实现 聊天小程序,代码分为服务器和客户端,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
基于Java的socket的网络聊天程序
萌新程序猿刚学习javaSocket的练手作品
Java通过关闭Socket终止线程
主要为大家详细介绍了Java通过关闭Socket终止线程的相关代码
Java socket编程实现两台主机间的通信
Java socket编程实现两台主机间的通信
最近开发的一个 java socket项目
dianxin 10001中间接口!! 博文链接:https://zhouyq.iteye.com/blog/240939


Java SE

