zoukankan      html  css  js  c++  java
  • java 网络编程Socket编程

    Server.java

    import java.io.*;
    import java.net.*;
    public class Server {
       public static void main(String args[]) {
          String [] answer ={"南非","进入世界杯了","哈哈...问题真逗!"};
          ServerSocket serverForClient=null;
          Socket socketOnServer=null;
          DataOutputStream out=null;
          DataInputStream  in=null;
          try { serverForClient = new ServerSocket(2010);
          }
          catch(IOException e1) {
                System.out.println(e1);
          } 
          try{ System.out.println("等待客户呼叫");
               socketOnServer = serverForClient.accept(); //堵塞状态,除非有客户呼叫
               out=new DataOutputStream(socketOnServer.getOutputStream());
               in=new DataInputStream(socketOnServer.getInputStream());
               for(int i=0;i<answer.length;i++) {
                  String s=in.readUTF(); // in读取信息,堵塞状态
                  System.out.println("服务器收到客户的提问:"+s);
                  out.writeUTF(answer[i]);
                  Thread.sleep(500);
               }
          }
          catch(Exception e) {
              System.out.println("客户已断开"+e);
          }
       }
    }

    Client.java

    import java.io.*;
    import java.net.*;
    public class Client {
       public static void main(String args[]) {
          String [] mess ={"2010世界杯在哪举行?","巴西进入世界杯了码?","中国进入世界杯了码?"};
          Socket mysocket;
          DataInputStream in=null;
          DataOutputStream out=null;
          try{  mysocket=new Socket("127.0.0.1",2010);
                in=new DataInputStream(mysocket.getInputStream());
                out=new DataOutputStream(mysocket.getOutputStream()); 
                for(int i=0;i<mess.length;i++) {
                  out.writeUTF(mess[i]);
                  String  s=in.readUTF();   //in读取信息,堵塞状态
                  System.out.println("客户收到服务器的回答:"+s);
                  Thread.sleep(500);
                } 
           }
           catch(Exception e) {
                System.out.println("服务器已断开"+e);
           }
       } 
    }
  • 相关阅读:
    TL 重构
    eclipse中使用Lombok
    一个成功的 Git 分支模型
    《重构,改善既有代码的设计》读书笔记
    重构——改善既有代码的设计
    安装Mysql5.7并修改初始密码
    支付宝支付-PC电脑网站支付
    sqlite3 线程模型
    sqlite 常用的一些语句
    Electron 入门第一篇
  • 原文地址:https://www.cnblogs.com/yihujiu/p/5991266.html
Copyright © 2011-2022 走看看