【零基础学Java】—TCP通信(五十四)

TCP通信:面向连接的通信,客户端和服务器端必须经过三次握手,建立逻辑连接,才能通信(安全)。

通信的步骤:

  • 服务器端先启动
  • 服务器端不会主动的请求客户端,必须使用客户端请求服务器端
  • 客户端和服务器端会建立一个逻辑连接,而这个连接中包含一个对象,这个对象就是IO对象
  • 客户端和服务器端就可以使用IO对象进行通信(通信的数据不仅仅是字符所以IO对象是字节流对象)

客户端和服务器端进行一个数据交互,需要4个IO流对象

在Java中,提供了两个类用于实现TCP通信程序

客户端:java.net.Socket类表示创建Socket对象,向服务端发出请求,服务端响应请求,两者建立连接开始通信

服务端:java.net.ServerSocket类表示,创建ServerSocket对象,相当于开启一个服务,并等待客户端的连接

【零基础学Java】—TCP通信(五十四)相关推荐

  1. 【零基础学Java】—throw关键字(四十六)

    [零基础学Java]-throw关键字(四十六) 一.throw关键字 public class demo {public static void main(String[] args) {//创建i ...

  2. 【零基础学Java】—LinkedList集合(四十)

    [零基础学Java]-LinkedList集合(四十) java.util.linkedList集合implements list接口 linkedList 集合的特点: 底层是一个链表结构,查询慢, ...

  3. 【零基础学Java】—final关键字与四种用法(二十九)

    [零基础学Java]-final关键字与四种用法(二十九) 一.final关键字 final关键字代表最终.不可改变的 常见的四种用法: 可以用来修饰一个类 可以用来修饰一个方法 可以用来修饰一个局部 ...

  4. 翁恺java答案第五周_[JAVA]翁恺老师零基础学java语言第五周素数例题中continue的困惑...

    第五周求前50个素数的例子中,continue跳出当次循环后的疑问 例题中的这段: ======================================== MAIN_LOOP: for(in ...

  5. 【零基础学Java】—Socket类(五十五)

    [零基础学Java]-Socket类(五十五) Socket类:该类实现客户端套接字,套接字是指两台设备之间通讯的端点. 在Java中,提供了两个类用于实现TCP通信程序 客户端:java.net.S ...

  6. 【零基础学Java】—System类(三十五)

    [零基础学Java]-System类(三十五) java.lang.System 类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作 在System类的API文档中,常用的方法有: pub ...

  7. 【零基础学Java】—继承父类并实现多个接口(二十五)

    [零基础学Java]-继承父类并实现多个接口(二十五) 一.使用接口的注意事项 1️⃣接口是没有静态代码块或者构造方法的 2️⃣一个类的直接父类是唯一的,但是一个类可以同时实现多个接口 3️⃣如果实现 ...

  8. 【零基础学Java】—字符串的概述和特点(十五)

    [零基础学Java]-字符串的概述和特点(十五) 一.字符串的特点 java.lang.String类代表字符串 API当中说:Java程序中的所有字符串字面值(如:"abc")都 ...

  9. 【零基础学Java】—网络编程(五十三)

    [零基础学Java]-网络编程(五十三) 一.软件结构 C/S结构:全称为Client/Server结构,是指客户端和服务器结构,常见的程序有QQ.迅雷等软件 B/S:全称为Browser/Serve ...

最新文章

  1. 小五:从个人用户无法注册.CN域名说起
  2. python一直报缩进错误_如何避免Python中的缩进错误
  3. python特征选择relieff图像特征优选_ReliefF与QPSO结合的故障特征选择算法
  4. 文巾解题 面试题 01.02. 判定是否互为字符重排
  5. openresty开发系列39--nginx+lua实现接口签名安全认证
  6. python tcp服务器_Python 创建TCP服务器的方法
  7. counterfactual
  8. Ubuntu 14.04 LTS 配置 Juno 版 Keystone
  9. python实现冒泡排序算法的非递归版本_冒泡排序以及python代码实现(递归+非递归)...
  10. 什么是IP地址、子网掩码、路由和网关?
  11. bzoj千题计划277:bzoj4513: [Sdoi2016]储能表
  12. java引用型变量_java-有没有办法用类型变量引用当前类型?
  13. 服务器系统备份还原到虚拟机,一秒还原,一秒备份,系统重装「新手学识4」虚拟机--时光倒流...
  14. NVivo 12 Mac的大规模部署
  15. CUDA开源 轻松跑AMD GPU/Intel x86 CPU
  16. MEM/MBA 写作-论证有效性分析(04)逻辑缺陷-偷换概念以偏概全
  17. Cesium geojson 区域拉伸高度
  18. titan框架的使用_如何设置和使用Google Titan密钥捆绑包
  19. (一)OSG初学者入门基础教程
  20. 计算机按某些键进入用户界面,电脑开机时按什么键进入bios界面

热门文章

  1. Storm概念学习系列之Task任务
  2. hive 建表导入数据
  3. 利用反射获取类或者方法或者字段上的注解的值
  4. Linux下高效编写Shell——shell特殊字符汇总
  5. 开源软件许可协议简介
  6. Eclipse不编译java文件的解决方法
  7. KTween 补间引擎
  8. java 如何让程序一直运行的程序_java – 如何在程序结束前让方法在后台持续运行?...
  9. Win-MASM64汇编语言-ADD/SUB/INC自增/DEC自减
  10. Spring-aop-简单示例