Socket 简单案例

package sockettest;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class Client {

    public static void main(String[] args) {
        
        try {
            Socket st = new Socket("127.0.0.1",8899);
            
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
            
            PrintWriter pw = new PrintWriter(st.getOutputStream());
            
            BufferedReader ReaderServer = new BufferedReader(new InputStreamReader(st.getInputStream()));
            
            while(true){
                System.out.println("客户端请输入");
                String inputString = reader.readLine();
                if(inputString.equals("break")){
                    break;
                }
                inputString = inputString+"\n";
                pw.print(inputString);
                pw.flush();
                System.out.println("正在等待服务端的回应");
                String isrs = ReaderServer.readLine();
                System.out.println("回应信息为:"+isrs);
            }
            ReaderServer.close();
            pw.close();
            st.close();
            
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        
        
    }
}

服务端代码:

package sockettest;

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 Server {

    public static void main(String[] args) {
        
        try {
            ServerSocket sst = new ServerSocket(8899);
            
            Socket st = sst.accept();
            
            BufferedReader reader = new BufferedReader(new InputStreamReader(st.getInputStream()));
            
            PrintWriter pw = new PrintWriter(st.getOutputStream());
            
            BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
            
            while(true){
                System.out.println("客户端的请求信息为:"+reader.readLine());
                System.out.println("服务端请输入");
                String input = sin.readLine();
                if(input.equals("break")){
                    break;
                }
                input = input + "\n";
                pw.print(input);
                pw.flush();
            }
            sin.close();
            pw.close();
            reader.close();
            st.close();
            sst.close();
            
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }
    
}

posted on 2013-10-21 08:49  定数  阅读(187)  评论(0)    收藏  举报

导航