什么是网络编程
- 跨机进程通信
- 什么是网络、计算机网络的构成是什么?
- 什么是网络编程?
- 什么是网络?
(1) 在计算机领域中,网络是信息传输、接收、共享的虚拟平台
(2) 通过网络可以把各个点、面、体的信息联系到一起,从而实现这些资源的共 - 网络是人类发展史来最重要的发明,提高了科技和人类社会的发展
局域网
什么是网络编程
- 网络编程从大的方面说就是对信息的发送与接收
- 通过操作相应的API调用计算机硬件资源,并利用传输管道(网线、光、无线电波)进行数据交换的过程
- 更为具体的涉及:网络模型、套接字、数据包
OSI七层网络模型
- 基础层:物理层、数据链路层、网络层
- 传输层:TCP协议、UDP协议、Socket
- 高基层:会话层、表示层、应用层
Scoket与TCP、UDP
- 什么是Socket?
(1) 简单来说Socket就是IP地址与端口号的结合协议:RFC 793
(2) 一种地址与端口的结合描述协议
(3) TCP/IP协议的相关API的总称;是网络API的集合实现
(4) 涵盖了:Stream Socket / Datagram Socket - Socket的作用与组成
(1) 在网络传输中用于唯一标识两个断点之间的链接
(2) 端点:包括IP与端口
(3) 4个要素:客户端IP地址、客户端端口、服务器端IP地址、服务器端端口 - Socket之TCP
(1) TCP是面向连接的通信协议
(2) 通过三次握手建立连接,通讯完成时需要拆除连接
(3) 由于TCP是面向连接的,所以只能用于端到端的通讯 - Scoket之UDP
(1) UDP是面向无连接的通讯协议
(2) UDP的数据包括目的端口号和源端口号信息
(3) 由于通讯不需要连接,所以可以实现广播,并不局限于端到端 - TCP传输图解
- UDP传输图解
- C/S模型:
(1) 在TCP/IP协议中,两个进程间通信的主要模式为:C/S通信
(2) 主要目的:协同网络中的计算机资源、服务模式、进程间数据共享
(3) 常见的:FTP、SMTP、HTTP
Socket TCP客户端:BIO
todo()