网络编程部分:Socket编程之每日箴言客户端

来源:互联网 发布:网络经济发展的看法 编辑:程序博客网 时间:2024/06/06 16:23

 AdviceServer.java

服务器

package jsj.java.exam.test10;import java.io.IOException;import java.io.OutputStream;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import javax.swing.JOptionPane;public class AdviceServer {   public void go(){final String[] adviceList = { "成功一定有办法,失败一定有原因","待人三要素:团结强人做大事,团结好人做实事,团结坏人不坏事","说话三要素:该说时会说——程度,不该说时不说——聪明,知道何时该说何时不该说——高超","干活三要素:该干时会干——能力,不该干时不干——明智,知道何时该干何时不该干——贤明。","等一等就安全了,让一让就过往了,忍一忍就协调了" };Thread serverThread=new Thread(){public void run(){ try {    //准备启动服务器,监听6000端口//ServerSocket serverSocket=________104________;    ServerSocket serverSocket=new ServerSocket(6000);//2;while(true){//接收来自客户端的请求//Socket socket=________105________;Socket socket=serverSocket.accept();//2//创建单独的一个线程来处理客户端发出的请求ConnectionHandler handler=new ConnectionHandler(socket);handler.start();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}};serverThread.start();  }public static void main(String[] args) {          new AdviceServer().go();          JOptionPane.showMessageDialog(null, "关闭服务器");          System.exit(0);} }
AdviceClient.java

客户端

packagejsj.java.exam.test10;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.Socket;import java.net.UnknownHostException;/** * 每日箴言客户端 * @author Administrator * */public class AdviceClient { public void go(){ try {// 与服务器(localhost)上的 6000 端口建立套接字连接 //Socket socket= ________101________;//2Socket socket= new Socket("127.0.0.1",6000);//InputStream is=________102________;//建立与Socket之间的输入流通道,能够获取服务器端传过来的数据InputStream is=socket.getInputStream();//2InputStreamReader reader=new InputStreamReader(is);BufferedReader bufferReader=new BufferedReader(reader);String advice=bufferReader.readLine();System.out.println("Today you should:"+advice);bufferReader.close();socket.close();} catch (UnknownHostException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}  } public static void main(String[] args) {new AdviceClient().go();}}

ConnectionHandler.java

package jsj.java.exam.test10;import java.io.IOException;import java.io.OutputStream;import java.io.PrintWriter;import java.net.Socket;public class ConnectionHandler extends Thread{private Socket socket;final String[] adviceList = { "成功一定有办法,失败一定有原因","待人三要素:团结强人做大事,团结好人做实事,团结坏人不坏事","说话三要素:该说时会说——程度,不该说时不说——聪明,知道何时该说何时不该说——高超","干活三要素:该干时会干——能力,不该干时不干——明智,知道何时该干何时不该干——贤明。","等一等就安全了,让一让就过往了,忍一忍就协调了" };public ConnectionHandler(Socket socket){this.socket=socket;}public void run(){OutputStream os;try {os = socket.getOutputStream();//PrintWriter writer=________103________;//创建到客户端的输出流通道PrintWriter writer=new PrintWriter(os);//2int randNumber=(int)(Math.random()*adviceList.length);writer.println(adviceList[randNumber]);writer.flush();writer.close();socket.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


原创粉丝点击