星空网 > 软件开发 > Java

Socket编程——怎么实现一个服务器多个客户端之间的连接

 

 1 package coreBookSocket; 2  3 import java.io.IOException; 4 import java.net.ServerSocket; 5 import java.net.Socket; 6  7 /* 8  * 这个方法的主要目地是为了用多线程的方法实现网络编程,让多个客户端可以同时连接到一个服务器 9  *1:准备工作和单个客户端编程类似,先建立服务器端的套接字,同时让客户端那边调用accept()方法来接受服务器端的信息10  *2:这里面定一个while循环主要是为了让多线程能够一直持续的进行下去,为此while循环开始执行的时候都会先建立11  *    一个新的线程来处理服务器和客户端之间的连接12  *3:同时定一个threadedEchoHandler来实现Runnable接口,而该类的主要作用是为了实现客户端循环通信的demo13  * author:by XIA14  * data:9.26.201615 */16 public class SimpleServerOfClients {17   public static void main(String[] args) throws IOException {18     19     int i=1;20     ServerSocket server=new ServerSocket(8189);21     while(true)22     {23       Socket client=server.accept();24       System.out.println("Spawning "+i);25       Runnable r=new threadedEchoHandler(client);26       Thread t=new Thread(r);27       t.start();28       i++;29     }30   }31 }

package coreBookSocket;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.PrintWriter;import java.net.Socket;import java.util.Scanner;public class threadedEchoHandler implements Runnable {  private Socket client;  public threadedEchoHandler(Socket i) {    client=i;  }  @Override  public void run() {    try {      InputStream ins=client.getInputStream();      OutputStream outs=client.getOutputStream();      Scanner in=new Scanner(ins);      PrintWriter out=new PrintWriter(outs, true);      System.out.println("Hello! Enter bye to exit!");            boolean done=false;      while(!done&&in.hasNextLine())      {        String line = in.nextLine();        System.out.println("回应:" + line);        if (line.trim().equalsIgnoreCase("bye"))        {          done=true;        }      }      client.close();    } catch (IOException e) {      e.printStackTrace();    }  }}

 




原标题:Socket编程——怎么实现一个服务器多个客户端之间的连接

关键词:socket

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

注意!受寒潮大风影响,港区暂停空箱进提箱作业!:https://www.ikjzd.com/articles/139051
​在亚马逊开店必做的几件事—让流量和转化率同时提高:https://www.ikjzd.com/articles/139052
做不同国家地区的跨境电商,应该如何选择物流?:https://www.ikjzd.com/articles/139053
跨境电商SheIn2020年营收近100亿美元:https://www.ikjzd.com/articles/139054
德国今年开出约3.58亿欧元反垄断罚单 正调查亚马逊和脸书:https://www.ikjzd.com/articles/139055
姐夫又又又又被抗议!新年亚马逊政策会有改变吗:https://www.ikjzd.com/articles/139056
长治婚庆女司仪和主持人:https://www.vstour.cn/a/366176.html
北京丰台区水上乐园哪家好玩?:https://www.vstour.cn/a/366177.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流