当前位置:网站首页>TCP通信
TCP通信
2022-08-08 10:11:00 【51CTO】

TCP通信同UDP通信一样,都能实现两台计算机之间的通信,通信的两端都需要创建socket对象。
区别在于,UDP中只有发送端和接收端,不区分客户端与服务器端,计算机之间可以任意地发送数据。
而TCP通信是严格区分客户端与服务器端的,在通信时,必须先由客户端去连接服务器端才能实现通信,服务器端不可以主动连接客户端,并且服务器端程序需要事先启动,等待客户端的连接。
在JDK中提供了两个类用于实现TCP程序,一个是ServerSocket类,用于表示服务器端,一个是Socket类,用于表示客户端。
通信时,首先创建代表服务器端的ServerSocket对象,该对象相当于开启一个服务,并等待客户端的连接,然后创建代表客户端的Socket对象向服务器端发出连接请求,服务器端响应请求,两者建立连接开始通信。


架构介绍
软件在开发的时候,需要先设计软件采用的架构模型:
B/S 架构:Browser / Server 浏览器 / 服务器 模型
BS架构:在开发中,仅仅只需要开发服务器端的软件程序,而客户端直接使用浏览器访问。
BS好处:开发成本降低,周期缩短。维护方便。
BS弊端:需要将所有的运算都放在服务器。
C/S 架构:Client / Server 客户端 / 服务器 模型
CS架构的软件,在软件开发中,要求开发人员,开发两套软件,一个是普通的用户使用的客户端软件,一个是企业使用的服务器软件。
CS架构弊端:开发周期长, 维护成本高。
CS架构的好处:可以将部分的运行转嫁给客户端电脑。
更多关注
边栏推荐
- Redis 定长队列的探索和实践
- 2022世界机器人大会即将举办,智能机器人助推传统行业向智能化、数字化转型升级
- 利用图像二维熵实现视频信号丢失检测(Signal Loss Detection)
- 人大金仓数据库登录、查看数据库
- COMSOL Multiphysics 6.0 software installation package and installation tutorial
- A small test of basic grammar, Go lang1.18 introductory refining tutorial, from Bai Ding to Hongru, basic grammar of go lang and the use of variables EP02
- 业务缓存之体系化设计与开发
- 牛刀小试基本语法,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang基本语法和变量的使用EP02
- vs2019+boost库(boost_1_67_0)安装
- VPP源地址NAT
猜你喜欢
随机推荐
Multi-scalar multiplication: state of the art & new ideas
【数学知识】—— 质数/约数
使用分类权重,轻松解决数据不平衡的问题
NoSQL的意思就是就是不使用SQL吗?
vs2019+boost library (boost_1_67_0) installation
Recommend 100 nice English songs
2022世界机器人大会即将举办,智能机器人助推传统行业向智能化、数字化转型升级
市面上有哪些经典的文档数据库呀?
Mobile/Embedded-CV Model-2017: MobelNets-v1
文档数据库于键值数据库有什么不同吗?
Web优化躬行记(6)——优化闭环实践
Loadrunner的录制event为0的问题解决方法与思路
使用.NET简单实现一个Redis的高性能克隆版(三)
苹果开发者账号申请流程完整版
电视机画质问题--PQ问题
高并发下秒杀商品,你必须知道的9个细节
业务缓存之体系化设计与开发
hdu4635 Strongly connected(tarjan计算强连通通分量+缩点+思想)
机器学习模型太慢?来看看英特尔(R) 扩展加速
Timed Task Framework Quartz-(1) Quartz Introduction and Demo Construction









