JAVA基础-聊天室小项目

package Task;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.SocketException;
import java.util.Scanner;

public class ServerTask implements Runnable{

Socket socket;


//实现绑定
public ServerTask(Socket socket) {
	// TODO Auto-generated constructor stub
	this.socket = socket;
}

@Override
public void run() {
	// TODO Auto-generated method stub
	System.out.println(  socket.getRemoteSocketAddress()+"进入了聊天室!" );
	//输入流
	try {
		
		//字节流-》字符流-》缓冲流
		BufferedReader bReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
		
		/**
		 * 客户端信息不为空,那么服务器端可以回应
		 */
		String msg = bReader.readLine();
		while ( msg != null) {
			System.out.println(socket.getRemoteSocketAddress() + "说:" + msg);
			
			
			//服务器端回应
			//字节流转字符流
			PrintWriter pWriter = new PrintWriter(socket.getOutputStream(),true );
			Scanner scanner = new Scanner(System.in);
			pWriter.println("服务器对"+socket.getRemoteSocketAddress()+"说:"+scanner.nextLine());
			
			msg = bReader.readLine();
		}
	}catch (SocketException e) {
		System.out.println(  socket.getRemoteSocketAddress() + "退出聊天室" );
	}catch (Exception e) {
		// TODO: handle exception
	}
}

}

posted @ 2020-07-03 20:42  不愿透漏姓名的王建森  阅读(301)  评论(0编辑  收藏  举报