Socket简单使用

12/12/2015来源:Java教程人气:2403

  客户端代码:  

import java.io.*;
import java.net.*;
public class DailyAdviceClient {
    public void go(){
        try{
            Socket s=new Socket("127.0.0.1",4242);
            InputStreamReader streamReader=new InputStreamReader(s.getInputStream());
            BufferedReader reader=new BufferedReader(streamReader);
            
            String advice=reader.readLine();
            System.out.PRintln("Today you should: "+advice);
            reader.close();
        }
        catch(IOException ex){
            ex.printStackTrace();
        }
    }
    public static void main(String[] args){
        DailyAdviceClient client=new DailyAdviceClient();
        client.go();
    }
}

  服务器代码:  

import java.io.*;
import java.net.*;
public class DailyAdviceServer {
    String[] adviceList={"Take smaller bites","Go for the tight jeans.No they do NOT make you look fat.",
    "One Word:inappropriate","Just for oday,be honest.Tell your boss what you *really* think",
    "You might want to rethink that haircut."};
    public void go(){
        try{
            ServerSocket serverSock=new ServerSocket(4242);
            
            while(true){
                Socket sock=serverSock.accept();
                
                PrintWriter writer=new PrintWriter(sock.getOutputStream());
                String advice=getAdvice();
                writer.println(advice);
                writer.close();
                System.out.println(advice);
            }
        }
        catch(IOException ex){
            ex.printStackTrace();
        }
    }
    private String getAdvice(){
        int random=(int)(Math.random()*adviceList.length);
        return adviceList[random];
    }
    public static void main(String[] args){
        DailyAdviceServer server=new DailyAdviceServer();
        server.go();
    }
}