📄 echoserver.java
字号:
//EchoServer.java
import java.io.*;
import java.net.*;
public class EchoServer
{
//服务器端的服务端口。
public static final int SERVERPORT = 9999;
public static void main(String[] args )
{
try
{
//建立服务器端倾听套接字。
ServerSocket s = new ServerSocket(SERVERPORT);
System.out.println("Started: " + s);
//等待并接收请求,建立连接套接字。
Socket incoming = s.accept( );
System.out.println("Connection accepted: " + incoming);
//新建网络连接的输入流。
BufferedReader in = new BufferedReader
(new InputStreamReader(incoming.getInputStream()));
//新建网络连接的自动刷新的输出流。
PrintWriter out = new PrintWriter
( new BufferedWriter(new OutputStreamWriter(
incoming.getOutputStream())), true);
System.out.println( "Hello! Enter BYE to exit." );
//回显客户端的输入。
while (true)
{
//从网络连接读取一行,即接收客户端的数据。
String line = in.readLine();
//如果接收到的数据为空(如果直接按Enter,不是空数据),则退出循环,关闭连接。
if (line == null) break;
else
{
if (line.trim().equals("BYE"))
{
System.out.println("The client entered BYE!");
System.out.println("Connection will be closed!");
break;
}
System.out.println("Echo: " + line);
//向网络连接输出一行,即向客户端发送数据。
out.println("Echo: " + line);
}
}
//关闭套接字。
incoming.close();
}
catch (IOException e)
{
System.err.println("IOException");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -