讀取socket步驟:
1. 建立對伺服器的Socket連線
Socket socket=new Socket("127.0.0.1",5000);
2. 建立連結到Socket上低階輸入串流的
InputStreamReader stream=
new InputStreamReader(socket.getInputStream());
3. 建立BufferedReader來讀取
BufferedReader reader=
new BufferedReader(stream);
String message=reader.readLine();
對socket寫入步驟:
1. 對伺服器建立Socket連線
2. 建立連結到Socket上PrintWriter
PrintWriter writer=new PrintWriter(socket.getOutputStream());
3. 寫入資料
write.println("message to send");
write.print("another message");
用戶端程式碼
{
Socket s=new Socket("127.0.0.1",4200);
InputStreamReader streamReader=new InputStreamReader(s.getInputStream());
BufferedReader reader=new BufferedReader(streamReader);
String advice=reader.readLine();
System.out.println("you like:"+advice);
catch(IOException ex)
{
ex.printStackTrace();
}
public static void main(String[] args)
{
DailyAdviceClient client=new DailyAdviceClient();
client.go();
}
伺服器端程式碼
String[] adviceList={"apple","banana juice","guava pie","lemon tea","orange cake is delicious"};
public static void main(String[] args)
{
DailyAdviceServer server=new DailyAdviceServer();
server.go();
}
public void go()
{
try
{
ServerSocket serverSock = new ServerSocket(4200);
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];
}
結果:
you like:banana juice
留言列表