node

Node之使用dgram模块实现基于UDP的数据通信

别说谁变了你拦得住时间么 提交于 2020-02-01 01:06:55
使用dgram模块实现基于UDP的数据通信 TCP是一种基于连接的协议,在进行通信前,首先要求客户端与服务器端建立一条用于通信的连接。而UDP是一种面向非连接的协议,在进行通信前,不要求首先建立客户端与服务器端之间的连接,可以直接把数据包发送给对方。基于这个原因,UPD也是一种不可靠的协议,但是其传输速度比TCP更快,因此更适用于实时通信的场合。 在Node.js中,提供了dgram模块,用于创建UPD服务器与客户端,以及实现UDP服务器与客户端之间的通信。 创建UDP服务器与客户端 在dgram模块中,可以使用createSocket方法创建一个用于实现UDP通信的socket端口对象 var socket=dgram.createSocket(type,[callback]) type:用于指定进行UDP通信时使用的协议类型,可指定值为“upd4”或“upd6”。 callback:用于指定当从该端口接收到数据时调用的回调函数,在该回调函数中,可以使用两个参数。msg参数值为一个Buffer对象,其中存放了接收到的数据。rinfo参数值也为一个对象,该对象所具有的属性及属性值如下: address:属性值为发送者所使用的地址,例如127.0.0.1。 family:属性值为一个标识了发送者所使用的地址是IPv4地址还是IPv6地址的字符串,例如“IPv4”。 port

问题 C: 最快合并链表(线性表)

痞子三分冷 提交于 2020-02-01 00:10:09
题目描述 知L1、L2分别为两循环单链表的头结点指针,m,n分别为L1、L2表中数据结点个数。要求设计一算法,用最快速度将两表合并成一个带头结点的循环单链表。 输入 m=5 3 6 1 3 5 n=4. 7 10 8 4 输出 3 6 1 3 5 7 10 8 4 样例输入 7 3 5 1 3 4 6 0 5 5 4 8 9 5 样例输出 3 5 1 3 4 6 0 5 4 8 9 5 # include <cstdio> # include <cstdlib> using namespace std ; struct node { int num ; node * next ; } ; node * create ( int n ) { node * head , * p , * pre ; head = new node ; head - > next = NULL ; pre = head ; for ( int i = 0 ; i < n ; ++ i ) { p = new node ; scanf ( "%d" , & p - > num ) ; pre - > next = p ; p - > next = head ; pre = p ; } return head ; } node * merge ( node * & a , node * & b ) {

vue.js三种安装方式

大憨熊 提交于 2020-02-01 00:02:05
Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。 下面介绍三种 Vue.js 的安装方法: 独立版本 我们可以在Vue.js的官网上直接下载vue.js,并在html中通过 <script> 标签中引用。 <script src = ../vue.js> </script> 开发环境不要使用最小压缩版,不然会没有错误提示和警告!(页面中直接使用) 使用vue多页面开发: 引入vue.js 创建一个vue根实例 new Vue({选项}) 使用CDN方法 BootCDN(国内) : https://cdn.bootcss.com/vue/2.2.2/vue.min.js , (国内不稳定) unpkg: https://unpkg.com/vue/dist/vue.js , 会保持和 npm 发布的最新的版本一致。(推荐使用) cdnjs : https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue.min.js,如 ( <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.8/vue

Redis Cluster集群

一世执手 提交于 2020-01-31 23:18:46
1 Redis Cluster集群 redis3.0以后推出的redis cluster 集群方案,redis cluster集群保证了高可用、高性能、高可扩展性。 1.1 redis-cluster架构图 架构细节 : (1) 所有的 redis 节点彼此互联 ( PING-PONG 机制 ), 内部使用二进制协议优化传输速度和带宽 . (2) 节点的 fail 是通过集群中超过半数的节点检测失效时才生效 . (3) 客户端与 redis 节点直连 , 不需要中间 proxy 层 . 客户端不需要连接集群所有节点 , 连接集群中任何一个可用节点即可 (4)redis-cluster 把所有的物理节点映射到 [0-16383] slot 上 ,cluster 负责维护 node<->slot<->value Redis 集群中内置了 16384 个哈希槽 ,当需要在 Redis 集群中放置一个 key-value 时, redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽, redis 会根据节点数量大致均等的将哈希槽映射到不同的节点 示例如下: 1.2 redis-cluster 投票 : 容错 最小节点数: 3 台 (1) 节点失效判断 :集群中所有 master

nodejs路由动态获取前台传递地址--实现查看功能

偶尔善良 提交于 2020-01-31 22:54:39
node.js动态获取路由的url地址 研究了将近一个小时,终于是通过一个另辟蹊径的方法解决了这个问题 — 用得是字符串的一些列操作,比较麻烦,我相信一定有更好的方法。 哈哈不说了 直接上图! 首先 这个页面上的内容我是连接了mysql数据库 通过nodejs路由让其显示在页面上 在HTML标签中的a标签地址动态添加索引 在最后判断传递过来的url地址是否含有getone 如果含有再通过charAt()方法获取字符串的最后一个字符就是他的索引 最后再 根据索引把数据库的内容显示在页面上 哈哈 第一次写博客,如果大家有看到,并且有更好的办法一定要告诉我哈~~~ 我会努力的 来源: CSDN 作者: weixin_46240162 链接: https://blog.csdn.net/weixin_46240162/article/details/104122032

win10菜鸟首次用node来跑公司vue项目

旧巷老猫 提交于 2020-01-31 21:44:17
背景: java后台开发人员,产品前后端分离,产品没切换vue前端框架之前,自己都是在本地dea启动一个tomcat跑一个网站来进行开发小页面功能或者直接在开发环境上开发小页面功能。 现在产品切换vue前端框架快一年了吧,还是没有在本地跑过前端的东西,哎,产品卖到客户那边需定制,技术就跟不上产品的思路。 趁着鼠年不能出门,抽空补了一下vue, node。 vue还是要顶一下,各种组件化的东西,不是专门前端人员,玩这些,很吃力。有过三个月时间,前端人员给后台开发人员强推了一波可视化编程的东西,真蛋疼, 多重意境。如果哪天哪个后台人员,谁用谁知道。 简单来说,前端人员只负责组件化开发,后台人员负责使用他们的组件来完成业务。。大势所趋。。不吐槽了,回归正传。 技术资料: https://cn.vuejs.org/v2/guide/comparison.html https://www.iviewui.com/docs/guide/start 步骤如下: 一、安装nvm https://www.cnblogs.com/gaozejie/p/10689742.html 二、安装node, npm 建议不要安装最新版本的, 不然都是坑 三、进入vue项目目录,安装依赖npm install 由于是公司项目,依赖repo要换成公司的 a.npm config set registry http:

kubernetes系列教程(九)初识Pod存储管理

帅比萌擦擦* 提交于 2020-01-31 21:25:18
写在前面 上一篇文章中 kubernetes系列教程(八)Pod健康检查机制 介绍了kubernetes中Pod健康检查机制,通过实战介绍了kubernetes中两种健康检查探针:livenessProbe存活检查,readinessProbe就绪检查,存活检查用于检查应用的可用性,就绪检查用于检查容器是否准备接受流量,健康检查包含三种探测的方法:exec命令行探测,tcpSocket端口检测,httpGet请求检测,分别适用于不同场景下的健康检查。接下来介绍 kubernetes系列教程 pod的存储管理。 kubernetes存储管理按照发展的历程,涉及到有Volume,PV(Persistent Volume)和PVC(PersistentVolumeClaims),和StorageClass,Volume是最早提出的存储卷,主要解决容器和数据存储的依赖关系,抽象底层驱动以支持不同的存储类型;使用Volume需要了解底层存储细节,因此提出了PV,Persistent Volume是由k8s管理员定义的存储单元,应用端使用PersistentVolumeClaims声明去调用PV存储,进一步抽象了底层存储;随着PV数量的增加,管理员需要不停的定义PV的数量,衍生了通过StorageClass动态生成PV,StorageClass通过PVC中声明存储的容量

C# 单向链表 逆序(递归)

你离开我真会死。 提交于 2020-01-31 14:00:13
1 static void Main(string[] args) 2 { 3 while (true) 4 { 5 LinkedList L = new LinkedList(); 6 L.Add(new Node("first")); 7 L.Add(new Node("second")); 8 L.Add(new Node("third")); 9 L.Add(new Node("forth")); 10 Cw(L.Head); 11 L.Head= Reverse(L.Head); 12 Cw(L.Head); 13 Console.ReadKey(); 14 i = 1; 15 } 16 17 } 18 19 private static int i = 1; 20 21 22 //单向链表逆序 23 private static Node Reverse(Node header) 24 { 25 if (header.Next == null) 26 { 27 return header; 28 } 29 //找到最后一个 30 var node = Reverse(header.Next); 31 //后一个的指针 指向前一个 32 header.Next.Next = header; 33 //前一个指针置空 34 header.Next = null; 35

使用typescript实现单向链表

跟風遠走 提交于 2020-01-31 13:59:44
interface node<T>{ next:node<T> | null; element:T } interface Data { name: string, age: number } class LianBiao<T> { length:number = 0 head:node<T> |null = null append (element:node<T>) { var node:node<T> = element if (this.head === null) { this.head = node } else { var current = this.head while (current.next) { current = current.next } current.next = node } this.length++ } } class LianbiaoNode<T> implements node<T> { element:T next:node<T> | null = null constructor (element:T, Linext:node<T>|null = null) { this.element = element this.next = Linext } } var testNode = new LianbiaoNode<Data>({

VUE安装操作+新建工程目录

拟墨画扇 提交于 2020-01-31 13:36:13
一.VUE ——安装操作 安装官网 https://nodejs.org/zh-cn/download/ 搭建环境的步骤: 1.在空间比较大的盘里新建一个文件夹指定仓库 2.配置环境变量 (1)NODE_PATH D:\node_rep\node_global\node_modules (2)PATH 追加 D:\node_global —为了找到命令 (3)如果连node -v都找不到的 PATH要加上安装目录路径 npm install vue -g(安装VUE) npm install -g vue-cli(安装VUE的脚手架) 二.新建工程目录 进入该目录,例如:myreport 创建Vue工程 vue init webpack-simple myreport(工程名字<工程名字不能用中文>) cnpm install (拉包) cnpm run dev (跑起来) 下载软件 https://code.visualstudio.com/ 更换中文 1.快捷键【Ctrl+Shift+P】弹出的搜索框中输入【configure language】 2.按照图中红色箭头指示位置点击步骤1在弹出的搜索框中输入Chinese,选择【Chinese (Simplified)Language Pack for Visual Studio Code】,然后点击右侧的【Install】 3