源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

简单的java socket客户端和服务端示例

  • 时间:2021-09-12 09:30 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:简单的java socket客户端和服务端示例
客户端
[u]复制代码[/u] 代码如下:
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class MyClient {      public static void main(String[] args) throws Exception {          Socket socket = new Socket("localhost", 10000);          BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));          PrintWriter out = new PrintWriter(socket.getOutputStream());          BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));          while (true) {              String msg = reader.readLine();              out.println(msg);              out.flush();              if (msg.equals("bye")) {                  break;              }              System.out.println(in.readLine());          }          socket.close();      }  } 
服务端
[u]复制代码[/u] 代码如下:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class MyServer {      public static void main(String[] args) throws IOException {          ServerSocket server = new ServerSocket(10000);          while (true) {              Socket socket = server.accept();              invoke(socket);          }      }      private static void invoke(final Socket client) throws IOException {          new Thread(new Runnable() {              public void run() {                  BufferedReader in = null;                  PrintWriter out = null;                  try {                      in = new BufferedReader(new InputStreamReader(client.getInputStream()));                      out = new PrintWriter(client.getOutputStream());                      while (true) {                          String msg = in.readLine();                          System.out.println(msg);                          out.println("Server received " + msg);                          out.flush();                          if (msg.equals("bye")) {                              break;                          }                      }                  } catch(IOException ex) {                      ex.printStackTrace();                  } finally {                      try {                          in.close();                      } catch (Exception e) {}                      try {                          out.close();                      } catch (Exception e) {}                      try {                          client.close();                      } catch (Exception e) {}                  }              }          }).start();      }  } 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部