JAVA基础-聊天室小项目

Posted 不愿透露姓名的王建森

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
	}
}

}







以上是关于JAVA基础-聊天室小项目的主要内容,如果未能解决你的问题,请参考以下文章