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

哈尔滨网站制作方案最有效的免费推广方法

哈尔滨网站制作方案,最有效的免费推广方法,做网站设计制作公司,个人网站 可以自己做服务器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/194271.html

相关文章:

  • 两学一做网站网站免费软文推广平台都有哪些
  • wordpress的收费网站seo优化服务商
  • 赣州网站建设哪家公司好seo的中文含义是什么
  • 怎么样做自己的网站信息流优化师发展前景
  • 我想学制作网站吗seo接单平台
  • 企业网站开发模板百度网址大全旧版安装
  • 中国乐清网福清市百度seo
  • 免费安全网站大全入口宁波百度seo点击软件
  • 三网合一的网站怎么做搜索引擎排名规则
  • wordpress comment_form_after杭州优化商务服务公司
  • 哪里有做投票的网站今日热点新闻头条排行榜
  • 微信上浏览自己做的网站吗手游推广加盟
  • 加盟网站建设公司百度快照是啥
  • 网站设计尺寸规范友情链接交易平台
  • 专业网站建设怎么样成都专门做网站的公司
  • 阿帕奇建设网站博客建立自己的网站
  • 做淘宝网站的主机电商关键词seo排名
  • 如何做电商网站视频北京网络优化推广公司
  • 潜江新闻网潍坊网站seo
  • 安徽做网站的公司有哪些seo l
  • 自己做游戏网站学什么百度热搜榜小说排名
  • 私服网站建设广州网站推广软件
  • 独立ip做多个网站自动seo网站源码
  • seo和网站建设那个先学大型门户网站建设
  • 比亚迪新能源汽车介绍百度搜索排名优化
  • 自己做网站要学什么软件2022年时事政治热点汇总
  • 如何做能放照片的网站南沙seo培训
  • 北京网页设计公司网站客户资源买卖平台
  • 宿迁建设局网站拆除备案自媒体平台app下载
  • qq空间可以做网站吗网站seo推广哪家值得信赖