Socket 通信 知识梳理

1.socket是网络通信的一项技术,android的socket通信其实使用的是java的socket通信技术。一些常用的即时通讯软件涉及socket通信。

网络技术最基础的知识是基于tcp/ip x的http协议,具体内容可以看图解http这本书。

两个设备之间进行通讯 只需要以下信息:

两台计算机的ip地址 ,两台计算机的端口号,两台计算机之间的传输协议。

tcp/ip 协议:

tcp--- transmission control protocal

ip---Internet Protocol 这里的ip不是ip地址

tcp/ip 有着经典的五层传输模型

Socket 通信 知识梳理_第1张图片
上图省略了最底层物理层

ip地址:ip地址是每台计算机的唯一标识

端口:区分一台计算机上的不同应用程序,比如http端口号是80

我们把ip地址和端口号加起来叫做socket,那么socket通信也就清楚了

 socket通信机制:

      通信的两端都有socket,数据在两个socket之间通过io传输

2.java中的网络通信

   针对网络通信的不同层次,java提供的api有

InetAddress:标识ip地址

URL:统一资源定位符

Sockets:基于tcp/ip协议的网络通信

Datagram:使用UDP协议,将数据保存在用户数据报中,通过网络进行通信。


3.tcp编程

   tcp是面向连接的,以字节流的方法发送数据

  java中socket通信模型是这样的

Socket 通信 知识梳理_第2张图片
socket通信模型

4.udp编程

udp协议是无连接的,基于数据报的通信协议

最后附一张tcp/ip的核心

Socket 通信 知识梳理_第3张图片
tcp/ip core

你可能感兴趣的:(Socket 通信 知识梳理)