当前位置: 首页 > news >正文

系统难还是网站设计难做怎么可以做自己的网站

系统难还是网站设计难做,怎么可以做自己的网站,友缘在线官网,wordpress全站301IP地址 概念 IP地址主要⽤于标识⽹络主机、其他⽹络设备#xff08;如路由器#xff09;的⽹络地址。简单说#xff0c;IP地址⽤于定位主机的⽹络地址。 就像我们发送快递⼀样#xff0c;需要知道对⽅的收货地址#xff0c;快递员才能将包裹送到⽬的地。 IP的格式 IP地址…IP地址 概念 IP地址主要⽤于标识⽹络主机、其他⽹络设备如路由器的⽹络地址。简单说IP地址⽤于定位主机的⽹络地址。 就像我们发送快递⼀样需要知道对⽅的收货地址快递员才能将包裹送到⽬的地。 IP的格式 IP地址是⼀个32位的⼆进制数通常被分割为4个“8位⼆进制数”也就是4个字节如 01100100.00000100.00000101.00000110。 通常⽤“点分⼗进制”的⽅式来表⽰即a.b.c.d的形式a,b,c,d都是0~255之间的⼗进制整数。 如100.4.5.6。 端口号 概念 在⽹络通信中IP地址⽤于标识主机⽹络地址端⼝号可以标识主机中发送数据、接收数据的进程。 简单说端⼝号⽤于定位主机中的进程。 类似发送快递时不光需要指定收货地址IP地址还需要指定收货⼈端⼝号。 格式 端⼝号是0~65535范围的数字在⽹络通信中进程可以通过绑定⼀个端⼝号来发送及接收⽹络数据。 协议 有了IP地址和端⼝号可以定位到⽹络中唯⼀的⼀个进程但还存在⼀个问题⽹络通信是基于⼆进制0/1数据来传输如何告诉对⽅发送的数据是什么样的呢? ⽹络通信传输的数据类型可能有多种图⽚视频⽂本等。同⼀个类型的数据格式可能也不同如发送⼀个⽂本字符串“你好”如何标识发送的数据是⽂本类型及⽂本的编码格式呢 基于⽹络数据传输需要使⽤协议来规定双⽅的数据格式。 概念 协议⽹络协议的简称⽹络协议是⽹络通信即⽹络数据传输经过的所有⽹络设备都必须共同遵从的⼀组约定、规则。如怎么样建⽴连接、怎么样互相识别等。只有遵守这个约定计算机之间才能相互通信交流。 协议protocol最终体现为在⽹络上传输的数据包的格式。 为什么需要协议呢: 计算机之间的传输媒介是光信号和电信号。通过频率和强弱来表⽰0和1这样的信息。要想传递各种不同的信息就需要约定好双⽅的数据格式. 计算机⽣产⼚商有很多 计算机操作系统也有很多 计算机⽹络硬件设备还是有很多 如何让这些不同⼚商之间⽣产的计算机能够相互顺畅的通信? 就需要有⼈站出来约定⼀个共同的标准⼤家都来遵守这就是⽹络协议 五元组 在TCP/IP协议中⽤五元组来标识⼀个⽹络通信 1. 源IP标识源主机 2. 源端⼝号标识源主机中该次通信发送数据的进程 3. ⽬的IP标识⽬的主机 4. ⽬的端⼝号标识⽬的主机中该次通信接收数据的进程 5. 协议号标识发送进程和接收进程双⽅约定的数据格式 协议分层 什么是协议分层 协议分层类似于打电话时定义不同的层次的协议. 就好像boss给高层思想,高层给中层指令,中层 给下层任务.老板不需要知道下层干什么.(不然一个人不可能什么事情都干完) 分层的作⽤ 为什么需要⽹络协议的分层 分层最⼤的好处类似于⾯向接⼝编程定义好两层间的接⼝规范让双⽅遵循这个规范来对接。 在代码中类似于定义好⼀个接⼝⼀⽅为接⼝的实现类提供⽅提供服务⼀⽅为接⼝的使⽤ 类使⽤⽅使⽤服务 • 对于使⽤⽅来说并不关⼼提供⽅是如何实现的只需要使⽤接⼝即可 • 对于提供⽅来说利⽤封装的特性隐藏了实现的细节只需要开放接⼝即可。 这样能更好的扩展和维护 OSI七层模型 OSI即Open System Interconnection开放系统互连 • OSI七层⽹络模型是⼀个逻辑上的定义和规范把⽹络从逻辑上分为了7层。 • OSI七层模型是⼀种框架性的设计⽅法其最主要的功能使就是帮助不同类型的主机实现数据传 输 OSI?七层模型划分为以下七层 OSI?七层模型既复杂⼜不实⽤所以OSI七层模型没有落地、实现。 实际组建⽹络时只是以OSI七层模型设计中的部分分层也即是以下TCP/IP五层或四层模型来实现。 TCP/IP五层或四层模型 TCP/IP是⼀组协议的代名词它还包括许多协议组成了TCP/IP协议簇。 TCP/IP通讯协议采⽤了5层的层级结构每⼀层都呼叫它的下⼀层所提供的⽹络来完成⾃⼰的需求。 • 应⽤层负责应⽤程序间沟通如简单电⼦邮件传输SMTP、⽂件传输协议FTP、⽹络远程访问协议Telnet等。我们的⽹络编程主要就是针对应⽤层。 • 传输层负责两台主机之间的数据传输。如传输控制协议(TCP)能够确保数据可靠的从源主机发送到⽬标主机。 • ⽹络层负责地址管理和路由选择。例如在IP协议中通过IP地址来标识⼀台主机并通过路由表的⽅式规划出两台主机之间的数据传输的线路路由。路由器Router⼯作在⽹路层。 • 数据链路层负责设备之间的数据帧的传送和识别。例如⽹卡设备的驱动、帧同步(就是说从⽹线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就⾃动重发)、数据差错校验等⼯作。有以太⽹、令牌环⽹⽆线LAN等标准。交换机Switch⼯作在数据链路层。 • 物理层负责光/电信号的传递⽅式。⽐如现在以太⽹通⽤的⽹线(双绞?线)、早期以太⽹采⽤的的同轴电缆(现在主要⽤于有线电视)、光纤现在的wifi⽆线⽹使⽤电磁波等都属于物理层的概念。物理层的能⼒决定了最⼤传输速率、传输距离、抗⼲扰性等。集线器Hub⼯作在物理层。 物理层我们考虑的⽐较少。因此很多时候也可以称为TCP/IP四层模型。 ⽹络设备所在分层 • 对于⼀台主机它的操作系统内核实现了从传输层到物理层的内容也即是TCP/IP五层模型的下四层 • 对于⼀台路由器它实现了从⽹络层到物理层也即是TCP/IP五层模型的下三层 • 对于⼀台交换机它实现了从数据链路层到物理层也即是TCP/IP五层模型的下两层 • 对于集线器它只实现了物理层 ⽹络分层对应 ⽹络数据传输时经过不同的⽹络节点主机、路由器时⽹络分层需要对应。 以下为同⼀个⽹段内的两台主机进⾏⽂件传输 TCP/IP通讯过程 封装和分⽤ • 不同的协议层对数据包有不同的称谓在传输层叫做段(segment)在⽹络层叫做数据报 (datagram)在链路层叫做帧(frame)。 • 应⽤层数据通过协议栈发到⽹络上时每层协议都要加上⼀个数据⾸部(header)称为封装 (Encapsulation)。 • ⾸部信息中包含了⼀些类似于⾸部有多⻓载荷(payload)有多⻓上层协议是什么等信息。 • 数据封装成帧后发到传输介质上到达⽬的主机后每层协议再剥掉相应的⾸部根据⾸部中的上层协议字段将数据交给对应的上层协议处理。 下图为数据封装的过程:  客⼾端和服务端 服务端在常⻅的⽹络数据传输场景下把提供服务的⼀⽅进程称为服务端可以提供对外服务 客⼾端获取服务的⼀⽅进程称为客⼾端。 常⻅的客⼾端服务端模型 最常⻅的场景客⼾端是指给⽤⼾使⽤的程序服务端是提供⽤⼾服务的程序 1. 客⼾端先发送请求到服务端 2. 服务端根据请求数据执⾏相应的业务处理 3. 服务端返回响应发送业务处理结果 4. 客⼾端根据响应数据展⽰处理结果展⽰获取的资源或提⽰保存资源的处理结果 请求 客户端发给服务端的语句. 回应 服务端根据客户端发过来的东西,进行回应,然后给客户端 两台主机间的通信 我们这里模拟两台电脑之间的通信 服务端代码 import javax.imageio.stream.ImageInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner;public class TcpEchoServer {ServerSocket serverSocket null;public TcpEchoServer(int port) throws IOException {this.serverSocket new ServerSocket(port);}public void start() throws IOException {System.out.println(服务器启动);while(true){Socket clientSocket serverSocket.accept();processConnection(clientSocket);}}private void processConnection(Socket clientSocket) {try(InputStream inputStream clientSocket.getInputStream();OutputStream outputStream clientSocket.getOutputStream()){ while(true){Scanner scanner new Scanner(inputStream);if (!scanner.hasNext()){break;}String request scanner.next();String respond process(request);PrintStream printStream new PrintStream(outputStream);printStream.println(respond);printStream.flush();//这里要加这个,不然如果只有一个请求,不会马上执行,就需要多个请求才会执行.如果加了flush,就可以马上执行;(至于为什么一个不执行:是因为效率)System.out.printf([%s:%d] req: %s, resp: %s\n, clientSocket.getInetAddress(),clientSocket.getPort(),request,respond); }} catch (IOException e) {throw new RuntimeException(e);}}public String process(String request) {return request;}public static void main(String[] args) throws IOException {TcpEchoServer tcpEchoServer new TcpEchoServer(9001);tcpEchoServer.start();} }客户端代码 import com.sun.corba.se.spi.activation.Server;import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; import java.net.Socket; import java.util.Scanner;public class TcpEchoClient {Socket socket null;String serverIP ;int port;public TcpEchoClient(String serverIP,int port) throws IOException {socket new Socket(serverIP,port);}public void start(){Scanner scannerConsole new Scanner(System.in);try(InputStream inputStream socket.getInputStream();OutputStream outputStream socket.getOutputStream()){while(true) {System.out.print(- );String request scannerConsole.next();PrintStream printStream new PrintStream(outputStream);printStream.println(request);printStream.flush();Scanner scannerNetwork new Scanner(inputStream);String respone scannerNetwork.next();System.out.println(respone);}} catch (IOException e) {throw new RuntimeException(e);}}public static void main(String[] args) throws IOException {TcpEchoClient tcpEchoClient new TcpEchoClient(127.0.0.1,9001);tcpEchoClient.start();}} 下面我们来一步步解析这段代码是如何交互的: 1.首先服务端得先启动,创建服务端的端口号. 2.服务端创建完毕后,客户端就可以启动 3.客户端开始给服务端传递请求  然后客户端将请求传递过去(这里我们使用PrintStream,方便传递,然后还要使用flush,不然一次数据太少了,他不会传递,会等到数据累计多了才传递,所以我们为了无论多少数据都传递,就得使用flush,这个是优化问题) 4.TCP协议,得用accept接收. 接受到客户端发过来的Socket之后,就可以正常使用了,通过Scanner将客户端的请求数据输入到服务器中. 然后服务器将客户端的代码通过process方法处理请求 服务端将处理好的请求还给客服端. 5.然后客服端接受服务器返回的处理过的请求,自此完成交互
http://www.zqtcl.cn/news/619540/

相关文章:

  • 建一个国外网站多少钱邵阳建设银行网站是多少
  • h5页面有哪些seo关键词智能排名
  • 电信的网做的网站移动网打不开该找电信还是移动杨和勒流网站建设
  • 网站建设添加背景命令做货代哪个网站上好找客户
  • 专做宝宝的用品网站武昌网站建设价格多少钱
  • 福田网站设计处理智慧团建app官网下载
  • 福州网站建设效果开发公司经营管理存在的问题
  • 如何自己做企业网站织梦做的网站织梦修改网页
  • 医院网站开发兼职怎么做可以支付的网站
  • 网站开发大概需要多久湛江招聘网最新招聘
  • 免费建网站 手机网站深圳网站设计(深圳信科)
  • 辽宁做网站的公司工作室网站建设的意义
  • 南京网站搜索排名免费企业网站空间
  • 手机要访问国外网站如何做附近学电脑在哪里报名
  • 免费建网站哪个网好中国建设银行信用卡黑名单网站
  • 网页设计好看的网站中小型网站建设 教案
  • 优秀网站设计案例行业内做网站的公司排名
  • 个人备案网站能做商城吗长沙app制作公司哪家好
  • 成都网站建设方案优化旺道seo怎么优化网站
  • 九江县建设规划局网站wordpress多个博客
  • 绵阳住房和城乡建设局网站做服装外贸的网站
  • 福建省华荣建设集团有限公司网站建设网站西安
  • 做视频网站程序多少钱网站内链有什么用
  • 建设企业网站模板联享品牌网站建设
  • 网站建设耂首先金手指提升网站访问速度
  • 为什么备案关闭网站网站seo推广招聘
  • 建设企业网站的重要性城乡建设厅官方网站
  • 网上有做口译的网站么怎样手机做网站教程
  • 孵化器网站平台建设网站一直建设中
  • 企业网站建设的方案书网站镜像 cdn