liuxinglanyue 发表于 2013-2-3 10:23:16

Java的单线程Socket通信

packagecom.wangtong.network;   importjava.io.BufferedReader;   importjava.io.IOException;   importjava.io.InputStreamReader;   importjava.io.PrintWriter;   importjava.net.ServerSocket;   importjava.net.Socket;   public   classServerSocket {          public   static   voidmain(String[] args) {            try{               createServerSocket();         }catch(IOException e) {                // TODO Auto-generated catch block               e.printStackTrace();         }       }          private   static   voidcreateServerSocket()throwsIOException {         ServerSocket serverSocket =newServerSocket( 8189 );         Socket socket = serverSocket.accept(); // wait for client connection            while( true ) {               BufferedReader in =newBufferedReader( newInputStreamReader(socket                     .getInputStream()));               PrintWriter out =newPrintWriter(socket.getOutputStream());                while( true ) {                   String str = in.readLine();                   System.out.println( "server:"+ str);                   out.println( "client receive"+ str);                   out.flush();                  if(str.equals( "exit" ))                        break ;               }               socket.close();             }       }   }    packagecom.wangtong.network;   importjava.io.BufferedReader;   importjava.io.IOException;   importjava.io.InputStream;   importjava.io.InputStreamReader;   importjava.io.OutputStream;   importjava.io.PrintWriter;   importjava.net.Socket;   importjava.net.UnknownHostException;   importjava.util.Scanner;       public   classClientSocket {      private   static   finalString URL ="localhost" ;          private   static   final   intPORT =8189 ;            /**       * create client socket       *      * @throws IOException       * @throws UnknownHostException       *      */      private   static   voidcreateClientSocket()throwsUnknownHostException,               IOException {         Socket clientSocket =newSocket(URL, PORT);         BufferedReader in =newBufferedReader( newInputStreamReader(                   clientSocket.getInputStream()));         PrintWriter out =newPrintWriter(clientSocket.getOutputStream());         BufferedReader wt =newBufferedReader( newInputStreamReader(System.in));            while( true ) {               String str = wt.readLine();               out.println( "client send:"+ str);               out.flush();                if(str.equals( "end" )) {                  break ;               }               System.out.println(in.readLine());         }         clientSocket.close();         }          public   static   voidmain(String[] args) {            try{               createClientSocket();         }catch(UnknownHostException e) {                // TODO Auto-generated catch block               e.printStackTrace();         }catch(IOException e) {                // TODO Auto-generated catch block               e.printStackTrace();         }       }   }     转:http://wangtong40.iteye.com/blog/50628
页: [1]
查看完整版本: Java的单线程Socket通信