讀取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");


用戶端程式碼

import java.io.*;
import java.net.*;
public class DailyAdviceClient
{
public void go()
{
    try

{

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

}

}


伺服器端程式碼

import java.io.*;
import java.net.*;
public class DailyAdviceServer 
{

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

arrow
arrow
    文章標籤
    Java
    全站熱搜

    布拉怡 發表在 痞客邦 留言(0) 人氣()