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...

Vue前端篇之项目初始化

一、基础库安装

(二)ElementUI安装 

       进入 ElementUI网站,查看安装指南,在项目根目录下执行安装命令:

npm install element-plus --save
安装成功后就可以在项目中进行引入了,在main.js文件中:
import ElementPlus from "element-plus"; import "element-plus/lib/theme-chalk/index.css";
然后进行:
app.use(ElementPlus);
main.js中完整的代码:
import { createApp } from "vue"; import App from "./App.vue"; import router from "./router"; import store from "./store"; import ElementPlus from "element-plus"; import "element-plus/lib/theme-chalk/index.css"; const app = createApp(App); app.use(store); app.use(router); app.use(ElementPlus); app.mount("#app");
使用ElementUI可以进行页面的布局。 

(二)axios安装 

axios是向后台发送请求使用的工具,现在进行安装,可参考 axios中文网,在项目的根目录下:
npm install axios
封装: 
在src目录下新建utils目录,然后再utils目录下新建request.js文件:
import axios from "axios"; const request = axios.create({ baseURL: "http://127.0.0.1:8080/", timeout: 1000 }); export default request;

二、Vue项目配置 

(一)环境配置文件 

在项目的根目录下新建.env.development文件以及.env.production文件: 
  • .env.development 
开发环境配置文件:
# 服务接口地址,上述就是Easy-Mock服务地址,这个在后面会进行mock服务搭建,可以先空着 VUE_APP_SERVICE_URL = 'http://192.168.35.16:7300/mock/60ef1eb22475f419e941cf61' # 开发环境的前缀 VUE_APP_BASE_API = '/dev-api'
  • .env.production 
生产环境配置文件:
VUE_APP_BASE_API = '/pro-api'

(二)axios接口封装 

将之前封装好接口的baseURL进行动态配置:
import axios from "axios"; const request = axios.create({ baseURL: process.env.VUE_APP_BASE_API, timeout: 1000 }); export default request;

(三)跨域代理转发 

       前后端请求势必涉及到跨域问题,要不前端解决,要不就是后端解决,所以如果前端解决需要进行配置,在项目根目录下新建vue.config.js文件:

module.exports = { devServer: { port: 8080, host: "localhost", //代理设置,将 /dev-api/test代理成 http://192.168.35.16:7300/mock/60ef1eb22475f419e941cf61/test proxy: { [process.env.VUE_APP_BASE_API]: { target: process.env.VUE_APP_SERVICE_URL, changeOrigin: true, pathRewrite: { ["^" + process.env.VUE_APP_BASE_API]: "" } } } } };
注意进行以上配置后需要重新启动服务。


更多文章合集前往: 往期精彩文章

此博客中的热门博文

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

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

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