java 代码
  1. //服务器端代码   
  2. import java.io.BufferedReader;   
  3. import java.io.BufferedWriter;   
  4. import java.io.IOException;   
  5. import java.io.InputStreamReader;   
  6. import java.io.OutputStreamWriter;   
  7. import java.io.PrintWriter;   
  8. import java.net.ServerSocket;   
  9. import java.net.Socket;   
  10.   
  11. public class Server{   
  12.     public static void main(String[] args) throws IOException {   
  13.         int PORT = 8999;   
  14.         BufferedReader in = null;PrintWriter out = null;   
  15.         try{   
  16. //          以端口PORT创建一个服务器Socket   
  17.             ServerSocket s = new ServerSocket(PORT);   
  18.             //监听并接受与此socket的连接,该方法会阻塞直到有一个连接产生   
  19.             Socket socket = s.accept();   
  20.             System.out.println("服务器启动成功,等待客户端请求");   
  21.             //创建新的数据输入流,以便从指定的输入流中读取数据   
  22.             try{   
  23.                 in = new BufferedReader(new InputStreamReader(socket.getInputStream()));   
  24.                 //创建新的数据输出流,以便从指定的输出流中写出数据   
  25.                 out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);   
  26.                 System.out.println("Client ip : "+s.getInetAddress());   
  27.                 out.println("welcome to my chatRoom!");   
  28.                 while (true) {   
  29.                     String str = in.readLine();   
  30.                     if (str.equals("exit") || str==null) {   
  31.                         break;   
  32.                     }   
  33.                     if (str != null && str.length() > 0) {   
  34.                         System.out.println("客户端:" + str);   
  35.                     }   
  36.                 }   
  37.                 System.out.println("Client ip : "+s.getInetAddress()+" want to leave");   
  38.             }   
  39.             finally{   
  40.                 in.close();   
  41.                 out.close();   
  42.                 socket.close();   
  43.                 s.close();   
  44.             }   
  45.         }catch(Exception e){   
  46.             e.printStackTrace();   
  47.         }   
  48.     }      
  49. }  

 

java 代码
  1. //客户端代码   
  2. import java.io.BufferedReader;   
  3. import java.io.BufferedWriter;   
  4. import java.io.DataInputStream;   
  5. import java.io.IOException;   
  6. import java.io.InputStreamReader;   
  7. import java.io.OutputStreamWriter;   
  8. import java.io.PrintWriter;   
  9. import java.net.Socket;   
  10. import java.net.UnknownHostException;   
  11. /**  
  12.  * Socket网络编程客户端程序  
  13.  * @author arthurs  
  14.  */  
  15. public class Client {   
  16.   
  17.     public static void main(String[] args) throws IOException {   
  18.         //创建一个socket连接,参数包括服务器端IP地址,端口号;   
  19.         Socket socket = new Socket("localhost",8999);   
  20.         BufferedReader in = null;PrintWriter out = null;   
  21.         BufferedReader sysin = null;   
  22.         try {   
  23.             // if(outCh.toString().equals("exit"))   
  24.             // break;   
  25.             // 创建一个数据输入流,从指定的输入流中读取数据   
  26.             in = new BufferedReader(new InputStreamReader(socket.getInputStream()));   
  27.             // 创建一个数据输出流,从指定的输出流中写出数据   
  28.             out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);   
  29.             String str = in.readLine();   
  30.             System.out.println("服务器端:" + str);   
  31.             sysin = new BufferedReader(new InputStreamReader(new DataInputStream(System.in)));   
  32.             String strOut = sysin.readLine();   
  33.             while(!strOut.equals("exit")){   
  34.                 out.println(strOut);   
  35.                 strOut = sysin.readLine();   
  36.             }   
  37.         } catch (UnknownHostException e) {   
  38.             e.printStackTrace();   
  39.         } catch (IOException e) {   
  40.             e.printStackTrace();   
  41.         } finally {   
  42.             in.close();   
  43.             out.close();   
  44.             sysin.close();   
  45.             socket.close();   
  46.         }   
  47.     }   
  48. }  
评论
发表评论

您还没有登录,请登录后发表评论