相关
Android—网络编程之Http协议
Android—网络编程之OkHttp3整体结构了解以及使用
Android—网络编程之Okhttp3源码解析
Android—网络编程之Retrofit2整体结构了解以及+Okhttp3+rxjava2使用
Android—网络编程之Retrofit2源码分析
定义
Socket:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP提供了封装或者显示数据的具体形式;Socket提供了网络通信的能力。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。
协议
socket是对TCP/IP的封装,TCP层用于数据的传输,分为TCP协议和UDP协议;IP层用于对网络主机的定位。Socket是TCP/IP协议的一个十分流行的编程界面,但是,Socket所支持的协议种类也不光TCP/IP一种。提供面向事务的简单不可靠信息传送服务。提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据,UDP传输的可靠性由应用层负责####
Socket也称为“套接字”,分为流式套接字和用户数据报套接字,分别对应于网络传输层的中的TCP和UDP协议。
- tcp协议:面向连接的协议,提供稳定的双向通信功能,需要3次握手
- udp协议:提供面向事务的简单不可靠信息传送服务。提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据,UDP传输的可靠性由应用层负责。