PHP用swoole+websocket和redis实现web一对一聊天
Redis 实现每个连接websocket的服务都唯一绑定一个用户。通过 用户账号 = websocket fd 存到redis中。Mysql 实现离线消息池。如果一个用户不在线,则其他用户发送给他的消息暂时存储在mysql。待该用户上线时,再从离线消息池取出发送。具体参考代码和相应注释:<?php$server = new swoole_websocket_server("0.0.0.0", ...
2024-01-10react配置px转换rem的方法
安装相关的依赖npm i lib-flexible --savenpm i postcss-px2rem --save主要用来暴露项目配置npm run eject!如果运行npm run eject报错,出错的原因应该是仓库里面代码没有提交,如下提交一下git add .git commit -m '自定义名'npm run eject然后打开项目中 config->webpack.config.js 进行配置// 在配置文件中添加如下两行代码...
2024-01-10详解Node.js中间件是怎样工作的
目录什么是 Express 中间件?编写 Express 中间件的要求Express中间件:基础中间件解决什么问题?为什么要用它?中间件函数是什么样的?中间件链Express中间件的类型内置中间件错误处理中间件第三方级别的中间件总结什么是 Express 中间件?中间件在字面上的意思是你在软件的一层和另一层中间放置的...
2024-01-10jquery实现拖拽小方块效果
今天来讲一个很常用的拖拽功能,主要是利用一点css,js和jquery,很简单但同时也很重要,掌握好才是最关键的!下面来看下效果图:这里可以看到,在鼠标hover的时候会有一个透明度的变化和一个盒子阴影!并且在右下角会实时的显示出小方块移动时横纵坐标的变化!可以看到有一个盒子阴影在...
2024-01-10Array.filter中如何正确使用Async
1. 如何仅保留满足异步条件的元素在第一篇文章中,我们介绍了 async / await 如何帮助处理异步事件,但在异步处理集合时却无济于事。在本文中,我们将研究该filter函数,它可能是支持异步函数的最直观的方法。2. Array.filter该filter函数仅保留通过条件的元素。它得到一个断言( predicate )函数,并且此...
2024-01-10Vue 同步异步存值取值实现案例
1.vue中各个组件之间传值1.父子组件父组件–>子组件,通过子组件的自定义属性:props子组件–>父组件,通过自定义事件:this.emit(′事件名′,参数1,参数2,...);2.非父子组件或父子组件通过数据总数Bus,this.root.$emit(‘事件名',参数1,参数2,…)3.非父子组件或父子组件更好的方式是在vue中使用vuex方法1: ...
2024-01-10详解vue路由
前端路由和后端路由:后端路由:对于普通的网站,所有的超链接都是url地址,所有url都对应服务器上对应的资源前端路由:对于单页面应用程序来说,主要通过url的hash(#)来实现不同页面的切换,同时hash还有一个特点HTTP请求中不会包含hash相关的内容,所以单页面程序中的页面跳转主要用hash实现...
2024-01-10Spring MVC的web.xml配置详解
spring是目前最流行的框架。创建java web项目时,我们首先会遇到的配置文件就是web.xml,这是javaweb为我们封装的逻辑,不在今天的研究中。下面我们将简单讲讲web.xml中的配置。一、一个空的web.xml<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun...
2024-01-10JavaWeb中Struts2拦截器深入分析(一)
一、struts2中的拦截器(框架功能核心)1、过滤器VS拦截器过滤器VS拦截器功能是一回事。过滤器是Servlet规范中的技术,可以对请求和响应进行过滤。拦截器是Struts2框架中的技术,实现AOP(面向切面)的编程思想,是可插拔的, 可以对访问某个 Action 方法之前或之后实施拦截。拦截器栈(Interceptor Stack):...
2024-01-10Code Breaking 挑战赛 Writeup
作者:LoRexxar'@知道创宇404实验室时间:2018年12月7日 @phith0n 在代码审计小密圈二周年的时候发起了Code-Breaking Puzzles挑战赛,其中包含了php、java、js、python各种硬核的代码审计技巧。在研究复现the js的过程中,我花费了大量的精力,也逐渐找到代码审计的一些技巧,这里主要分享了5道ez题目和1道hard的th...
2024-01-10C语言这段预处理命令错在哪里?为什么编译器报错?
#define LINE_FILE ("Line"#__LINE__"of file"__FILE__)int main(void){ printf("%s", LINE_FILE);}如上的预处理命令,希望LINE_FILE = "Line 行数 of file 文件名"然而编译器报错,也不知道错在哪。。。回答:#define LINE_FILE ("Line # __LINE__ of file __FILE__")就算可以用也应该是这种格式啊! __LINE__ 和 __FILE__ 这个是d...
2024-01-10关于释放指针导致的程序崩溃 ? 好像是野指针的问题?
释放特定的指针并进行合并int memory_merge(int pid,NODE node){ int num = node->total;//这里会出错 int temp1,temp2;if(node->left==NULL&&node->right==NULL) { if(node->pid==pid) { inital(node,num); return -2; } else return -1;}temp1 = memory_merge(pid,node->l...
2024-01-10Visual C++ for Linux Development的使用问题
vs2015安装上Visual C++ for Linux Development这个插件之后linux端 按照说明openssh-server g++ gdb gdbserver也都装好了,可是在新建项目调试运行的时候后弹出一个窗口弹出窗口之前项目已经编译好了,在linux端的项目目录下可以找到.out文件,就是在启动debug的时候弹出的这个窗口,不知道是什么意思?gdbserver也没用...
2024-01-10在ViewDidLoad 里添加UIButton的点击事件,不能触发。
UIButton *btn2 = [[UIButton alloc] initWithFrame:CGRectMake(0, 38, 100, 38)];[btn2 setTitle:@"添加好友" forState:UIControlStateNormal]; btn2.titleLabel.font = [UIFont systemFontOfSize:16];[btn2 addTarget:self action:@selector(btn2Click:) forControlEvents:UICon...
2024-01-10iOS底层知识学习,有没有什么好的建议
最近通过别人的blog来学习关于iOS Runtime方面的知识,但是底层的东西却一无所知,学习起来很吃力,很多东西都看不懂,像iOS开发,有的控件我们知道怎么用,但是至于为什么这么用,它是怎么样实现这个功能,我们貌似知道的很少吧?所以,我想请教各位大神,你们有没有什么相关经验可告知,重新...
2024-01-10请问这种历史帐号的下拉框怎样实现呢?急!
就像这种,我想求教如何实现这种历史帐号的功能和每个历史帐号右边有个叉叉可以点击删除的。回答:可以使用cookie1. 每次登录之后写入,就实现了历史帐号的写入功能,2. 在登录页面查询cookie 实现了查询功能3. 当你点击删除用JS操作cookie删除相关帐号,就实现了你说的 叉叉可以点击删除 功能...
2024-01-10某大牛公司笔试系统设计题,店小二智能问答实现设计
设计一个智能解答系统。用户在前端输入搜索的问题,智能推荐解答问题的方法。我的设计是三张表 一张问题、答案表;一张关键字表;一张问题和关键字对应关系表。如下图:查找问题时先将问题进行分词,然后到关键字表查找关键字的id然后到问题关键字对应表中查找和关键字的对应关系,然后...
2024-01-10mybatis的mapper中,为什么当jdbcType=INT的时候会报错,改成INTEGER就好了?
数据库中是int呀,并不是Integerorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'billMapper' defined in file [F:\lqb-web\target\lqb\WEB-INF\classes\com\lqb\web\dao\BillMapper.class]: Cannot resolve reference to bean 'sqlSessionFa...
2024-01-10oracle安装12c,检查环境变量的时候闪退?
如图,再这个阶段等1到2s之后就闪退。jdk已经安装,还需要别得环境变量吗?回答:应该是包的问题,建议你重新下一个新的安装包...
2024-01-10