2007-01-26

Java的单线程Socket通信

关键字: Socket
天天写BS的东西,突然感到自己基础功底差了点,看来的恶补一番。
单线程的Socket
java 代码
  1. package com.wangtong.network;   
  2.   
  3. import java.io.BufferedReader;   
  4. import java.io.IOException;   
  5. import java.io.InputStreamReader;   
  6. import java.io.PrintWriter;   
  7. import java.net.ServerSocket;   
  8. import java.net.Socket;   
  9.   
  10. public class ServerSocket {   
  11.   
  12.     public static void main(String[] args) {   
  13.         try {   
  14.             createServerSocket();   
  15.         } catch (IOException e) {   
  16.             // TODO Auto-generated catch block   
  17.             e.printStackTrace();   
  18.         }   
  19.     }   
  20.   
  21.     private static void createServerSocket() throws IOException {   
  22.         ServerSocket serverSocket = new ServerSocket(8189);   
  23.         Socket socket = serverSocket.accept();// wait for client connection   
  24.         while (true) {   
  25.             BufferedReader in = new BufferedReader(new InputStreamReader(socket   
  26.                     .getInputStream()));   
  27.             PrintWriter out = new PrintWriter(socket.getOutputStream());   
  28.             while (true) {   
  29.                 String str = in.readLine();   
  30.                 System.out.println("server:" + str);   
  31.                 out.println("client receive" + str);   
  32.                 out.flush();   
  33.                 if (str.equals("exit"))   
  34.                     break;   
  35.             }   
  36.             socket.close();   
  37.   
  38.         }   
  39.     }   
  40.   
  41. }   
java 代码
  1. package com.wangtong.network;   
  2.   
  3. import java.io.BufferedReader;   
  4. import java.io.IOException;   
  5. import java.io.InputStream;   
  6. import java.io.InputStreamReader;   
  7. import java.io.OutputStream;   
  8. import java.io.PrintWriter;   
  9. import java.net.Socket;   
  10. import java.net.UnknownHostException;   
  11. import java.util.Scanner;   
  12.   
  13.   
  14. public class ClientSocket {   
  15.     private static final String URL = "localhost";   
  16.   
  17.     private static final int PORT = 8189;   
  18.   
  19.   
  20.     /**  
  21.      * create client socket  
  22.      *   
  23.      * @throws IOException  
  24.      * @throws UnknownHostException  
  25.      *   
  26.      */  
  27.     private static void createClientSocket() throws UnknownHostException,   
  28.             IOException {   
  29.         Socket clientSocket = new Socket(URL, PORT);   
  30.         BufferedReader in = new BufferedReader(new InputStreamReader(   
  31.                 clientSocket.getInputStream()));   
  32.         PrintWriter out = new PrintWriter(clientSocket.getOutputStream());   
  33.         BufferedReader wt = new BufferedReader(new InputStreamReader(System.in));   
  34.         while (true) {   
  35.             String str = wt.readLine();   
  36.             out.println("client send:" + str);   
  37.             out.flush();   
  38.             if (str.equals("end")) {   
  39.                 break;   
  40.             }   
  41.             System.out.println(in.readLine());   
  42.         }   
  43.         clientSocket.close();   
  44.   
  45.     }   
  46.   
  47.     public static void main(String[] args) {   
  48.   
  49.         try {   
  50.             createClientSocket();   
  51.         } catch (UnknownHostException e) {   
  52.             // TODO Auto-generated catch block   
  53.             e.printStackTrace();   
  54.         } catch (IOException e) {   
  55.             // TODO Auto-generated catch block   
  56.             e.printStackTrace();   
  57.         }   
  58.     }   
  59. }   
评论
发表评论

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

wangtong40
搜索本博客
最近加入圈子
存档
最新评论
评论排行榜