话说JAVA SOCKET同步点对点聊天程序实例 1.0//服务器端import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;import java.net.ServerSocket;import java.net.Socket;import java.util.Date;public class ChatClientSSocket {private Socket s;private static final int maxreq= 5;private static final int port = 8888;private BufferedReader br;private InputStreamReader isr;private String line;private BufferedWriter bw;private OutputStreamWriter osw;private InputStreamReader sisr;private BufferedReader sbr;private String readLine;public static void main(String [] args){try {ServerSocket ss = new ServerSocket(port,maxreq);new ChatClientSSocket().connectCline(ss.accept());ss.close();} catch (IOException e) {e.printStackTrace();}}public void connectCline(Socket s) {this.s = s;try {osw = new OutputStreamWriter(s.getOutputStream(),"GBK");bw = new BufferedWriter(osw);isr = new InputStreamReader(System.in,"GBK");br = new BufferedReader(isr);sisr = new InputStreamReader(s.getInputStream(),"GBK");sbr = new BufferedReader(sisr);line = br.readLine();while(br != null){System.out.println("server:" + new Date() + "\n" + line);bw.write("server:" + new Date() + " " + line);bw.newLine();bw.flush();readLine = sbr.readLine();System.out.println(readLine);line = br.readLine();}} catch (UnsupportedEncodingException e) {System.out.println("不支持的编码格式,或是不存在这种编码格式!!!");e.printStackTrace();}catch (IOException e) {e.printStackTrace();}finally{try{osw.close();bw.close();isr.close();br.close();sisr.close();sbr.close();s.close();}catch(IOException e){e.printStackTrace();}}}}//客户端import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.Socket;import java.net.UnknownHostException;import java.util.Date;public class ChatClientSocket {private static final String hostName= "127.0.0.01";private InputStreamReader isr;private OutputStreamWriter osw;private BufferedWriter bw;private BufferedReader br;private String readLine;private InputStreamReader in;private BufferedReader bin;private String selfLine;public static void main(String [] args){try {Socket s = new Socket(hostName,8888);new ChatClientSocket().chatClient(s);} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public void chatClient(Socket s){try {isr = new InputStreamReader(s.getInputStream(),"GBK");osw = new OutputStreamWriter(s.getOutputStream(),"GBK");in = new InputStreamReader(System.in,"GBK");br = new BufferedReader(isr);bw = new BufferedWriter(osw);bin = new BufferedReader(in);readLine = br.readLine();while(readLine != null){System.out.println(readLine);selfLine = bin.readLine();System.out.println("client:" + new Date() + "\n" + selfLine);bw.write("clinet:" + new Date() + " " + selfLine);bw.newLine();bw.flush();readLine = br.readLine();}} catch (IOException e) {e.printStackTrace();}finally{try{osw.close();bw.close();isr.close();br.close();in.close();bin.close();s.close();}catch(IOException e){e.printStackTrace();}}}}