Socket简单使用

时间:2023-03-08 23:32:37
Socket简单使用

  客户端代码:  

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();
}
}