Android开发经验谈Android开发Android开发

Android Socket编程(tcp)初探

2018-06-14  本文已影响160人  Silence潇湘夜雨

前言

之前一直对socket编程这块比较陌生,并且在刚开始工作的时候比较抗拒。其实,都是因为当时自己比较菜,这块比较难处理,在舒适区呆的习惯了。所以,还是应该让自己走出舒适区,多接触一些陌生的区域。

首先

在将socket编程前,先了解一下socket的知识。

TCP/IP协议

我们举个不恰当的例子:比如通过QQ和服务器进行通信,都需要哪些东西呢?
两台电脑建立连接进行通信,需要知道双方的地址(也就是IP地址);知道两台电脑的IP地址之后,我们还需要知道我发送到目标电脑的目标软件(使用端口标记)。如果两台电脑连接成功之后就可以进行通信了。
那么这些东西如何进行规定的呢,这就需要有一定的通讯协议,比如我和张三约定在西安钟楼见面,然后两个人都必须手拿一把白色茉莉花。只有当我们双方见面并且看到对方拿的是我们之前商量好的白色茉莉花才可以进行通讯。那么,这个白色茉莉花就是我们之间的约定,也就是socket中的协议。大家都使用这个协议,统一成一个规范,这样符合这个规范的各种设备之间能够进行兼容性的通信。
最为广泛的的协议就是OSI协议和TCP/IP协议了,但是OSI协议较为繁琐,未推广(想了解的自己Google)。反而TCP/IP(transfer control protocol/internet protocol,传输控制协议/网际协议)协议简单明了,得到现今的广泛使用。


协议.png 协议传输示意图.jpg

其次

说了那么多的文字性描述,那么接下来看看我们的基于TCP协议的客户端和服务端实现

最后

刚开始写的时候自己也是一脸懵逼,克服了重重困难才做了出来,当然这种也不是最终的,没有加入自己的协议。需要根据自己的实际需求做出来,然后改成自己的需要的东西。

致谢

Android网络编程之--Socket编程

上一篇 下一篇

猜你喜欢

热点阅读