zoukankan      html  css  js  c++  java
  • 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
    	}
    }
    

    }

  • 相关阅读:
    图解 SQL 各种连接查询之间的区别
    虚拟机Ubuntu无法上网问题解决过程
    SQL语言(二) java怎样连接操作数据库中的数据
    SQL语言(一)
    编写简单的用户登录界面
    Java
    java第一阶段测试
    Net Core linux docker 部署异常
    .Net Core Cap 异常
    记.Net 创建文件
  • 原文地址:https://www.cnblogs.com/JeasonIsCoding/p/13232574.html
Copyright © 2011-2022 走看看