JAVA简单的I O流聊天程序 无线程

服务器:

package com.lanou3g.Day_7_26;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server2 {
	public static final int PORT = 10001;
	public static void main(String[] args) throws Exception {
		System.out.println("server start.....");
		ServerSocket ss = new ServerSocket(PORT);
		Socket sc = ss.accept();//等待客户连接 阻塞
		System.out.println("connected!!");
		//获得客户端的Ip地址
		String ip = sc.getInetAddress().getHostAddress();
		//获得客户端的mingz
		String hostname = sc.getInetAddress().getHostName();
		InputStreamReader isr = new InputStreamReader(sc.getInputStream(), "UTF-8");
		BufferedReader br = new BufferedReader(isr);
		String line = null;
		while (null != (line = br.readLine())) {
			System.out.println(ip + ":" + line);
		}
		//是否自动刷新
		PrintWriter pw = new PrintWriter(sc.getOutputStream(), true);
		pw.println("bye");
		pw.close();
		br.close();
		sc.close();
	}

}

  客户机

package com.lanou3g.client;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class Clinet2 {
	private static final String  HosTNAME = "192.168.80.188";
	private static final int PORT = 10001;
	
	public static void main(String[] args) {
		Socket sc = null;
		try {
			System.out.println("clinet start.....");
			//InetAddress.getByName(HosTNAME)比 HosTNAME兼容性好点
			 sc = new Socket(InetAddress.getByName(HosTNAME), PORT);
			 System.out.println("connected");
			 
			 PrintWriter pw = new PrintWriter(sc.getOutputStream(), true);
			 Scanner input = new Scanner(System.in);
			 String line = null;
			 while (!"exit".equals(line = input.nextLine())) {
				 pw.println(line);
			 }
			 sc.shutdownOutput();
			 InputStreamReader isr = new InputStreamReader(sc.getInputStream(), "UTF-8");
			 BufferedReader br = new BufferedReader(isr);
			 String line1 = null;
			 while (null != (line1 = br.readLine())) {
				 System.out.println(line1);
			 }
			 sc.close();
			 pw.close();
			 br.close();
			 sc.close();
			 
			 
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

猜你喜欢

转载自blog.csdn.net/qq_42651904/article/details/81233184