服务器:
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();
}
}
}