Java项目中的多线程通信如何利用套接字实现

  介绍

这期内容当中小编将会给大家带来有关Java项目中的多线程通信如何利用套接字实现,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Java Socket实现多线程通信的方法,代码如下:

包com.googlecode.garbagecan.test.socket.sample2;
  进口java.io.BufferedReader;
  进口java.io.IOException;
  进口java.io.InputStreamReader;
  进口java.io.PrintWriter;
  进口java.net.ServerSocket;
  进口java.net.Socket;
  公开课MyServer {
  公共静态void main (String [] args)抛出IOException {
  考察一下服务器=考察(10000);
  而(真){
  Socket套接字=server.accept ();
  调用(插座);
  }
  }
  私有静态调用无效(最终客户套接字)抛出IOException {
  新线程(新Runnable () {
  公共空间run () {
  BufferedReader=零;
  PrintWriter=零;
  尝试{
  在=new BufferedReader(新InputStreamReader (client.getInputStream ()));=新PrintWriter (client.getOutputStream ());
  而(真){
  字符串味精=in.readLine ();
  System.out.println(味精);
  out.println(“服务器收到“+味精);
  out.flush ();
  如果(msg.equals (“bye")) {
  打破;
  }
  }
  }捕捉(IOException ex) {
  ex.printStackTrace ();
  最后}{
  尝试{
  in.close ();
  }捕捉(异常e) {}
  尝试{
  out.close ();
  }捕捉(异常e) {}
  尝试{
  client.close ();
  }捕捉(异常e) {}
  }
  }
  }) .start ();
  }
  }

下面是客户端程序代码:

包com.googlecode.garbagecan.test.socket.sample2;
  进口java.io.BufferedReader;
  进口java.io.InputStreamReader;
  进口java.io.PrintWriter;
  进口java.net.Socket;
  公开课MyClient {
  公共静态void main (String [] args){抛出异常
  新的套接字(Socket套接字=發ocalhost", 10000);
  BufferedReader=new BufferedReader(新InputStreamReader (socket.getInputStream ()));
  PrintWriter=new PrintWriter (socket.getOutputStream ());
  BufferedReader读者=new BufferedReader(新InputStreamReader(系统));
  而(真){
  字符串味精=reader.readLine ();
  out.println(味精);
  out.flush ();
  如果(msg.equals (“bye")) {
  打破;
  }
  System.out.println (in.readLine ());
  }
  socket.close ();
  }
  }

测试,首先运行MyServer类,然后运行两个MyClient类,然后分别在每个MyClient的提示符下输入字符串,就可以看到服务器可以分别接收处理每个客户的请求了。

上述就是小编为大家分享的Java项目中的多线程通信如何利用套接字实现了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

Java项目中的多线程通信如何利用套接字实现