栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

TCP协议

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

TCP协议

目录

什么是TCP协议

客户端:

总结:

 服务端:

 总结:

多发多收

同时接受多个客户端消息

使用线程池优化

本次使用线程池的优势在哪里?


什么是TCP协议

TCP是一种面向连接,安全、可靠的传输数据的协议。

传输前,采用“三次握手”方式,点对点通信,是可靠的。

在连接中可进行大数据量的传输。

注意:在Java中只要是使用java.net.Socket类实现通信,底层即是使用了TCP协议。

客户端:

 

总结:

1.TCP通信的客户端的代表类是谁?
① Socket类

② public Socket(String host, int port)

2.TCP通信如何使用Socket管道发送、接收数据。

① OutputStream getOutputStream():获得字节输出流对象(发)

② InputStream getInputStream():获得字节输入流对象(收)

 服务端:

ServerSocket

 

 总结:

1.TCP通信服务端用的代表类?
① ServerSocket类,注册端口。

② 调用accept()方法阻塞等待接收客户端连接,得到Socket对象。

2.TCP通信的基本原理?

① 客户端怎么发,服务端就应该怎么收。

② 客户端如果没有消息,服务端会进入阻塞等待。

③ Socket一方关闭或者出现异常、对方Socket也会失效或者出错。

多发多收

 

  

同时接受多个客户端消息

 

使用线程池优化

服务端同时接收多个客户端消息时,如果客户端并发过多,会导致系统瘫痪。所以为了防止这种事情发生,服务端需要使用线程池来优化。

代码中有3个核心线程,最大线程数为5,队列中有2个位置,当3个核心线程都被占用时第4个线程会进入队列等待,第5个线程也会进入队列等待,当第6个线程到来时4,5,6线程中会有一个线程会占用临时线程,当第7个线程来又会有一个等待的线程占用临时线程,当第八个线程来时会被拒绝。

本次使用线程池的优势在哪里?

1.服务端可以服用线程处理多个客户端,可以避免系统瘫痪。

2.适合客户端通信时长较短的场景。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024254.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号