43 lines
1.3 KiB
Java
43 lines
1.3 KiB
Java
import java.io.BufferedReader;
|
||
import java.io.InputStreamReader;
|
||
import java.io.PrintStream;
|
||
import java.net.Socket;
|
||
|
||
|
||
public class ServerThread implements Runnable {
|
||
|
||
private Socket client = null;
|
||
public ServerThread(Socket client){
|
||
this.client = client;
|
||
}
|
||
|
||
@Override
|
||
public void run() {
|
||
try{
|
||
//获取Socket的输出流,用来向客户端发送数据
|
||
PrintStream out = new PrintStream(client.getOutputStream());
|
||
//获取Socket的输入流,用来接收从客户端发送过来的数据
|
||
BufferedReader buf = new BufferedReader(new InputStreamReader(client.getInputStream()));
|
||
boolean flag =true;
|
||
while(flag){
|
||
//接收从客户端发送过来的数据
|
||
String str = buf.readLine();
|
||
if(str == null || "".equals(str)){
|
||
flag = false;
|
||
}else{
|
||
if("bye".equals(str)){
|
||
flag = false;
|
||
}else{
|
||
//将接收到的字符串前面加上echo,发送到对应的客户端
|
||
out.println("echo:" + str);
|
||
}
|
||
}
|
||
}
|
||
out.close();
|
||
client.close();
|
||
}catch(Exception e){
|
||
e.printStackTrace();
|
||
}
|
||
}
|
||
|
||
} |