网络基础比较重要,尤其对于Android程序员来说,网络更是离不开的一个关键部分。我总结了很多前辈的文章和自己的一些学习心得,如下:
TCP HTTP UDP:
它们都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则沟通,对方才能理解。
TCP/IP是个协议组,它对应osi参考模型三层及以上层,可分为四个层次:网络接口层、网络层、传输层和应用层。
在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
在传输层中有TCP协议与UDP协议。
在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。
我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。
TCP 和 UDP 区别
| 区别 | TCP | UDP |
|---|---|---|
| 是否连接 | 面向连接 | 面向非连接 |
| 传输可靠性 | 可靠的 | 不可靠的 |
| 应用场合 | 传输大量的数据 | 少量数据 |
| 速度 | 慢 | 快 |
TCP提供有保证的数据传输,而UDP不提供。这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另一个端点,而UDP不提供任何这样的保证。
同样地,例如TCP报文结构,TCP的三次握手与四次挥手过程各个状态名称与含义TIMEWAIT的作用,Http的报文结构,Http的状态码含义,get和post区别等比较重要的知识也在http://blog.csdn.net/y505772146/article/details/56029709有记录(多个知识点)。
socket:
这是为了实现以上的通信过程而建立成来的通信管道,其真实的代表是客户端和服务器端的一个通信进程,双方进程通过socket进行通信,而通信的规则采用指定的协议。socket只是一种连接模式,不是协议。它相当于是TCP/IP网络的API。套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。应用层可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
http就是基于tcp的,用socket可以创建tcp连接,也可以创建udp连接。Socket接口定义了许多函数或例程,可以用以开发TCP/IP网络上的应用程序。Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。Socket有create、listen、connect、accept、send、read和write等基础的函数提供,方便我们更好的来实现tcp网络传输。
转自:http://www.hudongdong.com/c/200.html

Socket连接过程分为三个步骤:服务器监听,客户端请求,连接确认。
建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket 。
服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。
客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。
Socket和Http区别
HTTP是基于请求-响应形式并且是短连接,并且是无状态的协议。针对其无状态特性,在实际应用中又需要有状态的形式,因此一般会通过session/cookie技术来解决此问题。
Socket:Socket**不属于协议范畴,而是一个调用接口(API),Socket是对TCP/IP协议的封装,通过调用Socket,才能使用TCP/IP协议。**Socket连接是长连接,理论上客户端和服务器端一旦建立连接将不会主动断开此连接。
Java基础知识(七)
通信协议—IP、Http、TCP、UDP、Socket五者的关系:
TCP/IP、UDP、Http、Socket的区别
TCP/IP SOCKET HTTP及HTTPS之间的关系及各自特性之总结
socket与http的区别
TCP/IP、Http、Socket的区别
TCP/IP、HTTP、SOCKET 的联系和区别
TCP/IP、Http、Socket的区别?
本文详细解析了网络通信中的核心概念,包括TCP/IP协议、UDP、HTTP与Socket的区别及其应用场景。探讨了通信协议如何实现数据的安全可靠传输,以及Socket作为API在TCP/IP协议中的角色。

1万+

被折叠的 条评论
为什么被折叠?



