package derwille.U21.TCP;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class EchoServer {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(7302);
System.out.println("服务器控制台: 服务器已经启动");
boolean flag1 = true;
while(flag1)
{
System.out.println("服务器控制台: 服务器控制台: 等待连接");
Socket s = ss.accept();
System.out.println("服务器控制台: "+s.getInetAddress()+" 该IP地址已经连接."); // 获得InetAddress对象信息, 封装着各种信息, 比如IP地址
//在此例中,服务器并不向客户端发送信息, 只是echo而已.
//所以, 服务器的socket只接收信息.
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintStream ps = new PrintStream(new BufferedOutputStream(s.getOutputStream()));
boolean flag2 = true; //用来循环接收数据
while(flag2)
{
//info用来接收Reader流的readLine()方法, 一行一行看.
String info = br.readLine();
if("seeya".equals(info))
{
flag2 = false;
}else{
System.out.print(info);
ps.println("echo---"+info);
ps.flush();
}
}
br.close();
ps.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class EchoServer
最新推荐文章于 2022-06-24 15:05:42 发布