一起Talk Android吧(第三百一十九回:Android中网络通信之TCP概述)

本文介绍了Android平台上TCP通信的基础知识,包括TCP与Socket的关系、Socket接口的使用方法以及TCP通信的基本流程,并通过具体步骤帮助读者理解整个通信过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

各位看官们,大家好,上一回中咱们说的是Java类型转换的例子,这一回中咱们说的例子是Android中网络通信之TCP概述。闲话休提,言归正转。让我们一起Talk Android吧!

TCP和Socket是什么关系

TCP(Transmission Control Protocol)是协议名称的缩小,通常情况下我们通过Socket来使用TCP协议进行通信,因为Socket是基于TCP的编程接口。各种操作系统都会提供Socket接口,我在Talk C例子主题中介绍过Linux操作系统上的Socket知识,知识中使用的是Linux操作系统上的Socket接口,编程语言使用C语言,感兴趣的看官可以点击这里参考。

Android平台没有提供自已的Socket接口,而是使用了Java语言的Socket接口,在接下来的章回中将介绍如何使用Java语言的Socket接口进行网络通信(包含TCP和UPD)。

网络通信主要指网络上不同的PC进行通信,不同PC通过网络连接在一起,在网络上通过PC的IP地址来标识PC,这样可以避免PC出现混乱的情况,而每一台PC内有各种应用程序,在网络上通过端口来标识不同的应用程序,这样可以避免应用程序找不到网络中传输的数据。大家可以看到IP地址和端口是网络通信的必要属性,因此Socket接口中封装了这两种属性。

TCP通信的基本流程

明白TCP和Socket之间的关系后,我们看看网络通信的基本流程。为了方便大家理解TCP通信的流程,我们以例子的方式来介绍。假设网格上有两台PC进行通信,我们称其中的一台是Client,另外一台是Server.它们之间的通信流程如下:

  • 1.Server初始化,主要绑定端口和分配资源;
  • 2.Server开始监听Client发来的连接请求;
  • 3.Client创建一个Socket对象,对象中封装了IP地址和端口等属性;
  • 4.Client向Server发起连接请求;
  • 5.Server监听到Client发来的请求并且检查是否可以建立连接;
  • 6.Server与Client建立连接,开始数据传输;
  • 7.数据传输完毕后关闭连接并且释放资源;

关于上面的流程有以下内容需要做详细说明:

  • 1.Sever的IP地址以及绑定的端口需要事先和Client声明;
  • 2.Client创建Socket对象时封装的IP地址包含Client和Server的IP地址;
  • 3.Client创建Socket对象时封装的端口包含Client和Server的端口;
  • 4.Client的IP地址和端口是Client自已分配的与Server无关;
  • 5.Client和Server建立连接后使用IOStream进行通信;
  • 6.通信结束后需要关闭Socket以及IOStream;

为了方便大家更好地理解通信的过程,我画了一个流程图,请大家参考:

在这里插入图片描述

最后让我们对本章回的内容做一个总结:

  • 1.TCP是网络通信的协议,Socket是该协议的编程接口;
  • 2.Socket中包含两个重要的属性:IP地址和端口;
  • 3.通过文字和图形掌握TCP通信的基本流程;
  • 4.对于通过过程的内容有六点内容需要引起注意;

看官们,关于Android中网络通信之TCP概述的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值