1.网络编程入门
1.1软件结构
CS结构,全称为Client/Sever结构,是指客户端与服务端的结果,如qq 迅雷
BS结构,全称为Browser/Server结构,是指浏览器和服务端的结构,常见浏览器如谷歌或火狐。
两种架构各有优势,但无论哪种架构,都离不开网络的支持,网络编程也就是在一定的协议下,支持两个计算机的通讯程序。
1.2网络通讯协议
顾名思义,网络通信协议,是指通过计算机网络一遍多台计算机实现连接,位于一个网络中的计算机在连接和通信时需要遵守同一的原则。
重点学习TCP/IP协议。(传输控制协议/因特网互联协议)。它是internet最基本和最广泛的协议,它定义了计算机如何选择入因特网,以及数据如何在他们之间传输的数据,内部包含一些列的用于数据通信的协议,并采用了4层的分层的模型,每一层都呼叫它的下一层所提供的协议完成自己的额需求。
说明:应用层 传输层 网络层 和链路层
链路层,定义物理层传输信道,通常是对某些网络连接社保的驱动协议,例如对光纤,网线提供的驱动
网络层,是整个tcp/ip协议的核心,它主要用于将传输的数据进行分组,将分组的数据发送至目标计算机或者网络。
传输层,主要使用网络程序进行通信,在进行网络通信时, 可以采用TCP协议,也可以采用UDP协议。
应用层,主要负责应用程序的协议,例如HTTP协议,FTP协议。
1.3 网络通信协议的分类,也就是传输层的分类
UDP 用户数据包协议 ,效率高,但是不安全。
面向无连接通信协议,即在数据传输时,数据的发送端和接收端不建议逻辑连接,简单来说,当一台计算机向另一台发送数据时,发送端不会确认接收端是否存在,就会发送数据。比如qq发信息。
UDP特点 数据被限制在64Kb以内,超出就不能发送了
不问目标是否存在,因此可能存在丢失
TCP 传输控制协议 :效率低,但是安全
面向连接的通信协议,即传输数据前,在发送端和接受端进行逻辑连接,它提供了两台计算机之间可靠无差错的数据传输。在TCP连接中,必须要明确客户端和服务器端,由客户端向服务端发起连接请求,每次连接的创建都需要经过三次握手。
第一次:客户端向服务端发出连接请求,等待服务器的确认
第二次L服务器向客户端发送一个响应,通知客户端收到了连接请求
第三次,客户端再次向服务端发送确认消息,确认连接,整个交互过程如下图所示。
1.4 网络编程的三要素 协议 IP地址 端口号
协议
也就是之前学习的内容
IP地址
指的是互联网协议地址即 internet Protocol Address,俗称IP,IP地址用来给一个网络中的计算机设备做唯一的编号,假如我们把个人电脑比作一台电脑,那么IP地址相当于电话号码。
IPv4:4个字节的32位的二进制数字,a.b.c.d其中abcd均由10进制数表示,约42亿个。
IPv6:8组16字节的16 进制数组成的128位。
常用命令
查看本机IPI地址 ipconfig
检查网络是否连接 ping 空格 ip地址
特殊IP地址 127.0.0.1 localhost
1、localhost等于127.0.0.1,不过localhost是域名,127.0.0.1是IP地址。
2、localhost和127.0.0.1不需要联网,都是本机访问。
3、本机IP需要联网,本机IP是本机或外部访问, 本机 IP 就是本机对外放开访问的IP地址,这个网址就是与物理网卡绑定的IP地址。
端口号
端口号是逻辑端口,是无法直接知道的,是通过网络软件货值的,一旦软件打开,操作系统将给与软件随机分配一个端口号。
端口号是由两个字节组成。0-65535之间
1 1024之前的端口号不可以用
2 网络软件的端口号不能重复,分配不可重复(理解为门牌号)
3 常用的网络端口号 80 即可 www.baidu.com:80
mysql:3306 oracle:1251 Tomcat服务器:8080
2.TCP的通信程序
TCP通信是指TCP协议进行通信的程序,实现两台计算机的数据交互,通信的两端,要严格区分客户端Client和服务端Server。
2.1两端通信的步骤
- 服务端程序,需要实现启动,等待客户端的连接
- 客户端主动连接服务器端,连接成功才能通信,服务端不可以直接连接客户端。
原文地址:https://www.cnblogs.com/rango0550/p/10901529.html