博文

目前显示的是 六月, 2022的博文

c语言之Linux网络开发

一、网络编程预备知识 socket IP地址 端口号 字节序 (一)socket 是一个编程接口 是一种特殊的文件描述符 (everything in Unix is a file) 并不仅限于TCP/IP协议 面向连接 (Transmission Control Protocol - TCP/IP) 无连接 (User Datagram Protocol -UDP 和 Inter-network Packet Exchange - IPX) (二)socket类型 1、流式套接字(SOCK_STREAM) 提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。 2、数据报套接字(SOCK_DGRAM) 提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。 3、原始套接字(SOCK_RAW) 可以对较低层次协议如IP、ICMP直接访问。 (三)socket的位置 (四)IP地址 IP地址是Internet中主机的标识: Internet中的主机要与别的机器通信必须具有一个IP地址 IP地址为32位(IPv4)或者128位(IPv6) 每个数据包都必须携带目的IP地址和源IP地址,路由器依靠此信息为数据包选择路由 表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的无符号整数 (五)端口号 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区别 TCP端口号与UDP端口号独立 端口号一般由IANA (Internet Assigned Numbers Authority) 管理 众所周知端口:1~1023(1~255之间为众所周知端口,256~1023端口通常由UNIX系统占用) 注册端口:1024~49150 动态或私有端口:49151~65535 (六)字节序 不同类型CPU的主机中,内存存储多字节整数序列有两种方法,称为主机字节序(HBO): 小端序(little-endian) - 低序字节存储在低地址 将低字节存储在起始地址,称为“Little-Endi...

玩转虚拟机系列之如何配置静态ip

 一、什么是NAT模式以及动态ip         在 玩转虚拟机系列之如何搭建虚拟机 中介绍了系统镜像的外壳VMware是如何安装的,以及如何安装一个CentOS系统,那么现在我们通过root用户登陆到系统。 然后通过命令行查看是否可以与宿主机进行通信,也就是上网: 可以看到上网是没有问题的:         在开始安装虚拟机时我们默认使用的就是NAT模式,它是通过自己单独的路由器然后与物理机的路由器进行通信,类似下图这样: 我们可以在电脑终端中查看宿主机ip信息: C:\Users\shenjianping>ipconfig 以太网适配器 以太网: ... IPv4 地址 . . . . . . . . . . . . : 192.168.0.118 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . . : 192.168.0.1 然后在VMware中查看虚拟机网络信息: 二、设置静态ip         在上图中的第4步中可以看到DHCP动态分配ip,那么如果需要静态ip,也就是固定ip怎么做呢?此时我们需要修改网卡ens33信息: vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE="Ethernet" BOOTPROTO="static" #修改为static DEFROUTE="yes" PEERDNS="yes" PEERROUTES="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_PEERDNS="yes" IPV6_PEERROUTES=...

玩转虚拟机系列之如何搭建虚拟机

一、虚拟机的作用 进行一些软件的测试 安装不同的操作系统,比如Linux系列的系统         对于一些未知软件是否可用,没有把握性,不妨到虚拟机中进行测试,这样不会对宿主机造成影响。 而Linux系列的操作系统,比如:Centos、Ubuntu等操作系统 二、虚拟机的安装         如果要安装不同系统的镜像,那么我们需要为这些系统找一个壳子,比较好用的有VMware等,我们首先去官网下载: https://www.vmware.com/         这里我是用的是VMware Workstation Pro,你也可以下载VMware Workstation Player进行使用。 下载好的已经上传到网盘: OneDrive https://iveboy-my.sharepoint.com/:f:/g/personal/shenjianping0307_iveboy_onmicrosoft_com/EmIJNgpGLc5OrYlnAEtIb-oBw6Pfiwy8Pt1oPwQalf_ccA 百度网盘 链接: https://pan.baidu.com/s/1srAU-Y6nX42ijhwWQKeKcQ?pwd=zwis   提取码:zwis          首先新建一个目录用于存放安装的镜像目录,比如在D盘下新建一个Virtual Workstation Machines目录,然后在其中新建一个base目录: 然后我们点击软件进行安装: 然后下一步: 安装位置可以自己更改,然后下一步: 可以将1、2步中的勾选去掉,然后直接下一步: 直接下一步: 直接安装,等待安装完成即可。 ...

Vue前端篇之作者功能开发(一)

一、EasyMock生成作者数据  (一)获取所有数据  新建get请求接口 http://192.168.35.16:7300/mock/60ef1eb22475f419e941cf61/authors { "code": 200, "message": "获取成功", "data|10": [{ "id|+1": 10, "username": "@ctitle", "email": "@email" }] } 使用测试工具获取数据:  (二)新增一条数据  新增post请求接口 http://192.168.35.16:7300/mock/60ef1eb22475f419e941cf61/author { "code": 200, "message": "新增成功" } 二、API接口调用  (一)获取所有数据  在src目录中新建api目录,然后新建authors.js文件:  其内容为: import request from "@/utils/request"; export function getAuthors() { return request({ url: "/authors", method: "get" }); } 然后在views/authors/index.vue文件中调用接口、获取数据、进行渲染,其中渲染的 表格模板 : <template> <el-table :data="authorsList" border style="width: 100%"> <el-table-column prop="id" label="ID" width="180"...

Vue前端篇之Easy-Mock服务搭建

一、搭建前准备  详情查看: GitHub - easy-mock/easy-mock: A persistent service that generates mock data quickly and provids visualization view.   搭建Easy-Mock服务需要先完成以下服务的搭建:  安装node.js  安装mongodb  安装redis  (一)安装node.js # 下载 wget https://nodejs.org/dist/v8.9.0/node-v8.9.0-linux-x64.tar.xz # 解压 tar xf node-v8.9.0-linux-x64.tar.xz # 重命名 mv node-v8.9.0-linux-x64 node # 移动到合适位置 mv node /usr/local/ # 添加到环境变量中在/etc/profile文件中添加 export NODE_HOME=/usr/local/node/ export PATH=$NODE_HOME/bin:$PATH #然后使其立即生效 source /etc/profile # 查看版本 node -v (二) 安装MongoDB # 下载 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz # 解压 tar -xzvf mongodb-linux-x86_64-3.0.6.tgz # 重命名 mv mongodb-linux-x86_64-3.0.6 mongodb # 移动到合适位置 mv mongodb /usr/local/ # 添加到环境变量中在/etc/profile文件中添加 export NODE_HOME=/usr/local/node/ export MONGODB_HOME=/usr/local/mongodb/ export PATH=$NODE_HOME/bin:$MONGODB_HOME/bin:$PATH #然后使其立即生效 source /etc/profile # 查看版本 mongo --versi...

Vue前端篇之项目布局设计

一、文件初始化  移除一些没有用的组件或者文件:  1、注释掉App.vue中的两个路由  2、注释掉router/index.js文件中无用的路由  二、layout  1、映射路由  路由配置,在router/index.js文件中: import { createRouter, createWebHistory } from "vue-router"; // import Home from "../views/Home.vue"; import Layout from "../layout"; import Authors from "../views/authors"; import Books from "../views/books"; import Publishers from "../views/publishers"; const routes = [ { path: "/", name: "layout", component: Layout, }, //进行路由配置,这些子路由都会在layout父组件中的AppMain组件中被渲染 { path: "/", name: "layout", component: Layout, children:[ //作者管理 { path: "/authors", component: Authors, }, //出版社管理 { path: "/publishers", component: Publishers, }, //书籍管理 { path: "/books", component: Books, } ] }, // { // path: "/about", // name: "About", // // route level code-splitting // // this generates a separate chunk (ab...

此博客中的热门博文

玩转虚拟机系列之如何搭建虚拟机

玩转虚拟机系列之远程工具

玩转虚拟机系列之如何高效创建虚拟机