Socket网络编程学习笔记 网络编程Socket与TCP/UDP

Posted 鮀城小帅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Socket网络编程学习笔记 网络编程Socket与TCP/UDP相关的知识,希望对你有一定的参考价值。

1.网络编程

(1)什么是网络?计算机网络的构成是什么?

网络,在计算机领域中,网络是信息传输、接收、共享的虚拟平台。它把各个点、面、体的信息联系到一起,从而实现资源的共享。

局域网,指在某一个区域内由多台计算机互联成的计算机组。

互联网,指的是网络(可以是局域网)与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

(2)什么是网络编程?

网络编程,从大的方面说就是对信息的发送到接收。通过操作相应API调度计算机硬件资源,并利用传输管道(网线)进行数据交换的过程。

(3)7层网络模型-OSI

①基础层: 物理层(Physical)、数据链路层(Datalink)、网络层(Network)

②传输层(Transport):TCP-UDP协议层、Socket

③高级层:会话层(Session)、表示层(Presentation)、应用层(Application)

(4)网络模型-对应关系

2.Socket与TCP\\UDP

(1)Socket

Socket,是IP地址与端口的结合协议(RFC 793)。是一种地址与端口的结合描述协议。是 TCP/IP协议的相关API的总称,是网络API的集合实现。它涵盖了Stream Socket/Datagram Socket。

它的作用,在网络传输中用于唯一标示两个端点之间的链接。端点,包括 IP + Port

Socket有4个要素:客户端地址、客户端端口、服务器地址、服务器端口。

(2)Socket传输原理

Socket的客户端与服务端通过IP + Port 25 进行传输数据,从而实现通信。

 (3)TCP

TCP,是面向连接的通信协议。通过三次握手建立连接,通讯完成时要拆除连接。由于TCP是面向连接的,所以只能用于端到端的通讯。

图解:

TCP的传输协议,一个数据传输到服务器上,首先是基于TCP的数据发送,同时它会收到一条TCP的回复,代表着数据收到了。这个回复是由TCP在数据层面封装实现的。

 TCP的传输方式,最终结果要么成功,要么失败。

(4)UDP

UDP,是面向无连接的通讯。UDP数据包括目的端口号和源端口号信息。由于通讯不需要连接,所以可以实现广播发送,并不局限于端到端。

图解:

 UDP的传输协议,一个数据传输到服务器上,不等待回复就直接结束。它的传输方式,不会在意最终结果,只要发送出去即可。

(5)Client-Server Application

CS,TCP/IP 协议中,两个进程间通信的主要模式为:CS模型。

它的主要目的,协同网络中的计算机资源、服务模式、进程间数据共享。

常见的CS模型有:FTP、SMTP、HTTP。

以上是关于Socket网络编程学习笔记 网络编程Socket与TCP/UDP的主要内容,如果未能解决你的问题,请参考以下文章

python 3.x 学习笔记13 (网络编程socket)

python学习笔记day8socket网络编程

Socket网络编程学习笔记 网络编程Socket与TCP/UDP

Python学习笔记14(socket编程)

JAVA Socket 编程学习笔记

JAVA Socket 编程学习笔记