当前位置: 首页 > wzjs >正文

大连网站快速排名软文发稿网

大连网站快速排名,软文发稿网,360网站导航公司地址怎么做,网站开发 明细DAY13.2 Java核心基础 多线程下的网络编程 基于单点连接的方式,一个服务端对应一个客户端,实际运行环境中是一个服务端需要对应多个客户端 创建ServerSocketNable类,多线程接收socket对象 public class ServerSocketNable implements Run…

DAY13.2 Java核心基础

多线程下的网络编程

基于单点连接的方式,一个服务端对应一个客户端,实际运行环境中是一个服务端需要对应多个客户端

创建ServerSocketNable类,多线程接收socket对象

public class ServerSocketNable implements Runnable {private Socket socket;public ServerSocketNable(Socket socket) {this.socket = socket;}@Overridepublic void run() {//接收消息InputStream inputStream = null;DataInputStream dataInputStream = null;try {inputStream = socket.getInputStream();dataInputStream = new DataInputStream(inputStream);String s = dataInputStream.readUTF();System.out.println(Thread.currentThread().getName() + "服务器接收到的消息:" + s);} catch (IOException e) {throw new RuntimeException(e);} finally {try {inputStream.close();dataInputStream.close();socket.close();} catch (IOException e) {throw new RuntimeException(e);}}}
}

创建ClientNable对象,实现给服务器发消息的任务

public class ClientNable implements Runnable {private Integer num;public ClientNable(Integer num) {this.num = num;}@Overridepublic void run() {// 创建一个Socket对象,需要指定服务器的IP地址和端口号OutputStream outputStream = null;DataOutputStream dataOutputStream = null;Socket socket = null;try {socket = new Socket("127.0.0.1", 8080);outputStream = socket.getOutputStream();dataOutputStream = new DataOutputStream(outputStream);dataOutputStream.writeUTF("你好,我是客户端:" + num);} catch (IOException e) {throw new RuntimeException(e);} finally {try {outputStream.close();dataOutputStream.close();socket.close();} catch (IOException e) {throw new RuntimeException(e);}}}
}

服务器启动

public static void main(String[] args) {Socket socket = null;try {ServerSocket serverSocket = new ServerSocket(8080);while (true) {socket = serverSocket.accept();ServerSocketNable serverSocketNable = new ServerSocketNable(socket);Thread thread = new Thread(serverSocketNable);thread.start();}} catch (IOException e) {throw new RuntimeException(e);} finally {try {socket.close();} catch (IOException e) {throw new RuntimeException(e);}}
}

客户端启动

public static void main(String[] args) {for (int i = 0; i < 100; i++) {Thread thread = new Thread(new ClientNable(i));thread.start();}
}

这样就实现了多线程收发的功能,效率更高,开发中使用更加常见

部分代码输出:

可以看见不是顺序执行的

image-20250318233326607

http://www.dtcms.com/wzjs/402780.html

相关文章:

  • 做网站怎么插入图片网络营销师证
  • 做网站用别人的图片企业网站推广策略
  • 息壤服务器网站打不开私域运营软件
  • 钢格板保定网站建设推广计划怎么做
  • 盈佳国际天天做赢家网站镇江seo快速排名
  • wordpress statraq北京seo公司wyhseo
  • 网上书店网站建设目标网站策划书案例
  • 网站呢建设推广网站有效的方法
  • 哈尔滨网站建设科技公司百度网页版浏览器
  • 新闻网站建设公司环球军事网最新军事新闻最新消息
  • 凡客的网站功能百度大数据预测平台
  • 合肥网站推广外包公司十大骗子教育培训机构
  • 日本设计师个人网站网页设计用什么软件做
  • 营销网站制作方案千锋教育的口碑怎么样
  • 网站代码大全公众号seo排名
  • vps 网站权限惠州抖音seo策划
  • 做电商赚钱吗seo关键词排名优化软件怎么选
  • 做网站 智域大连营销方案100个软文
  • 网站图片幻灯片效果公司网站定制
  • c2c网站开发百度搜索风云榜小说总榜
  • 门户网站是啥北京百度seo排名公司
  • b2b哪个免费网站好推广方案
  • 做计算机网站有哪些专业做网站设计
  • 网站建设内容策略有哪些黄页引流推广网站
  • 广州app网站建设广州:推动优化防控措施落地
  • 厦门网站设计排行靠谱的seo收费
  • 网站制作模版seo优化包括哪些内容
  • 济南网站优化公司艾乎网深圳市住房和建设局官网
  • 网站的支付接口对接怎么做网址域名大全
  • 制作网页免费windows优化大师官方