<?php class Chat { const HOST = '0.0.0.0';//ip地址 0.0.0.0代表接受所有ip的访问 const PART = 82;//端口号 private $server = null;//单例存放websocket_server对象 private $connectList = [];//客户端的id集合 public function __construct() { //实例化swoole_websocket_server并存储在我们Chat类中的属性…
一.聊天室简单介绍 采用nodeJS设计,基于express框架,使用WebSocket编程之 socket.io机制.聊天室增加了 注册登录模块 ,并将用户个人信息和聊天记录存入数据库. 数据库采用的是mongodb , 并使用其相应mongoose对象工具来处理数据的存取. 功能主要涉及:群聊.私聊.设置个人信息.查看聊天记录.查看在线用户等 效果图: 你也可以直接来这里  查看演示 二.聊天室基本设计思路 除去上次的注册登录模块不说,本次主要就是增加了socket.io模块的设计 以及 …
前后端分离的项目,使用 Swoole+React 实现的聊天室,整个项目的框架结构可以进行参考,前端 react+react-redux+react-router+react-ant 等等,后台使用 easySwoole,自行实现中间件(数据封装,token 验证,签名验证), 认真看代码可以学到很多哦,?! 1. 项目链接 1.1 swoole(请 star) https://github.com/LaravelChen/swoole_chat... 1.2 react(请 star) htt…
一.Html5WebSocket介绍 WebSocket protocol 是HTML5一种新的协议(protocol).它是实现了浏览器与服务器全双工通信(full-duplex). 现在,很多网站为了实现即时通讯(real-time),所用的技术都是轮询(polling).轮询是在特定的的时间间隔(time interval)(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览器.这种传统的HTTP request d的模式带来很明显的缺点 –…
玩转Node.js(四)-搭建简单的聊天室 Nodejs好久没有跟进了,最近想用它搞一个聊天室,然后便偶遇了socket.io这个东东,说是可以用它来简单的实现实时双向的基于事件的通讯机制.我便看了一些个教程使用它来搭建一个超级简单的聊天室. 初始化项目 在电脑里新建一个文件夹,叫做“chatroom”,然后使用npm进行初始化: $ npm init 然后根据提示以及相关信息一步一步输入,当然也可以一路回车下去,之后会在项目里生成一个package.json文件,里面的信息如下: $ cat…
使用 NIO 搭建一个聊天室 前面刚讲了使用 Socket 搭建了一个 Http Server,在最后我们使用了 NIO 对 Server 进行了优化,然后有小伙伴问到怎么使用 Socket 搭建聊天室,这节仍然使用 NIO 为基础进行搭建. 一.NIO 聊天室入门案例 该案例只有三个类:NioServer 聊天室服务端.NioClient 聊天室客户端.ClientThread 客户端线程. 服务端代码: package com.fengsir.network.chatroom; import…
Delphi APP 開發入門(三)簡易計算機 分享: Share on facebookShare on twitterShare on google_plusone_share   閲讀次數:6823 發表時間:2014/05/20 tags: 行動開發 教學 App Delphi XE6 Android iOS 上週大家學會了設定Android/iOS編譯環境以及寫出第一個Hello World之後,我們今天要來寫第一隻APP簡易計算機. 新增一個空白的APP專案後,我們在畫面上新增一個E…
前言:       上周末自己学习了一下Kafka,参考网上的文章,学习过程中还是比较顺利的,遇到的一些问题最终也都解决了,现在将学习的过程记录与此,供以后自己查阅,如果能帮助到其他人,自然是更好的. ===============================================================长长的分割线==================================================================== 正文: 关于Kafka…
前言:       前段时间自己参考网上的文章,梳理了一下基于分布式环境部署的业务系统在解决数据一致性问题上的方案,其中有一个方案是使用ZooKeeper,加之在大数据处理中,ZooKeeper确实起到协调服务的作用,所以利用周末休息时间,自己在虚拟机上简单搭建了一个ZooKeeper集群,学习了解一下. ===============================================================长长的分割线===========================…
前言:       前段时间自己学习如何部署伪分布式模式的hadoop环境,之前由于工作比较忙,学习的进度停滞了一段时间,所以今天抽出时间把最近学习的成果和大家分享一下.       本文要介绍的是如何利用VMware搭建自己的hadoop的集群.如果大家想了解伪分布式的大家以及eclipse中的hadoop编程,可以参考我之前的三篇文章. 1.在Linux环境中伪分布式部署hadoop(SSH免登陆),运行WordCount实例成功. http://www.cnblogs.com/Purple…
通过 <利用Hexo搭建个人博客-环境搭建篇> 以及 <利用Hexo搭建个人博客-博客初始化篇>,我们了解到了利用Hexo搭建个人博客需要的环境以及配置,下面这篇文章将会介绍如何把我们的博文发布到github上. 1 GitHub 配置 在<利用Hexo搭建个人博客-环境搭建篇> 一文中,我们对Github有了一个基本的了解,并且已经在本地搭建好了git的基本环境.如果想要发布博文到github上,我们还需要到github上去进行用户的注册. 1.1 注册GitHub…
上一篇博文 <利用Hexo搭建个人博客-环境搭建篇> 中,我们讲解了利用Hexo搭建个人博客应该要配置哪些环境.相信大家已经迫不及待的想要知道接下来应该要怎么把自己的博客搭起来了,下面,让我们一起见证这奇迹的时刻. 1 初始化博客 首先,我们需要按照下面的步骤进行博客的初始化: 1> 创建一个hexo-blog文件夹,当然你也可以命名为其他名字,这里以hexo-blog为例 $ mkdir hexo-blog 2> 执行以下命令,Hexo将会在目标文件夹下建立博客需要的所有文件 $…
我是一个爱写博客进行总结分享的人.然而,有着热爱写博客并且深知写博客好处的我,却没有好好的把这个习惯坚持下来.如今毕业已经一年多了吧,每一次与师弟师妹们聊天,我总会意味深长的建议他们,一定要定期梳理总结自身所学的知识,而写博客就是其中的一个很不错的方式……OK,感慨的话,就不多说了,下面我们开始慢慢的进入我们的主题-“利用Hexo搭建个人博客”吧. 1 前言 喜欢写博客的人都会经历这么三个阶段. 1> 第一阶段,刚接触Blog,觉得很新鲜,试着选择一个免费空间来写. 还记得那些年我还是个大二小鲜…
tuple(元組) 其實跟列表差不多,也是存一組數,只不過是它一旦建立了,就不能修改了,只能做 切片 跟 查詢,所以只叫 只讀列表 語法: name = ("Rogers", "Stark", "Thor", "Loki") 它只有二個方法可以使用,一個是 count().一個是 index().接下來就簡單試試這二個功能怎麼用 #!/usr/bin/env python3 # -*- coding:utf-8 -*- nam…
利用Hexo搭建博客 以前用Octopress搭过博客,折腾了好久才弄出来,当时看到那巨难看的默认主题,繁琐的操作,一点写东西的欲望都没了. 一次逛微博,看见了Hexo.尝试了一下,真的很好用哦. 下面记录下流程: 安装node 1 brew install node 最新版的node.js已经集成了npm包.所以只需验证一下node,npm是否安装成功. 12 node -vnpm -v 安装Hexo 1 npm install hexo -g 初始化 1 hexo init blog (我起…
利用NTP搭建自己的ntp服务 发表于 2013 年 9 月 22 日 作者 admin 对于校园网/企业用户,如果您网内所有计算机都通过互联网同步时间,在速度和精度上都有一定的折扣,并且对互联网出口带宽也有一定的影响,对于这类用户,我们建议通过自己搭建ntp服务为内部用户提供时间同步服务. 在Linux系统下搭建ntp服务是非常简单的,即便你对Linux不熟悉,只需要简单的几个操作就够用了,下面是几个必要的步骤: 1.安装你熟悉的操作系统(这里假设你安装的是CentOS 6). 2.查看是否已…
Solr Multicore 是 solr 1.3 的新特性.其目是一个solr实例,可以有多个搜索应用. 下面着手来将solr给出的一个example跑出来.这篇文章是基于<利用SOLR搭建企业搜索平台 之——运行solr>,有不明白的请参见http://lianj-lee.javaeye.com/blog/424383 1. 找到solr下载包中的example文件夹,在它的下面有个multicore文件夹,将这个文件夹下面的所有东西copy到 c:/solr-tomcat/solr下面.…
利用PhantomJS搭建Highcharts export服务 一直在使用Highcharts做web图表的展示, 但是当发送定时的报表邮件的遇到了这个问题. 为了保证邮件图表和web页图表样式一致, 需要能原样生图. 这里考虑如下: 1. 如何生成jpg图片 在很久以前,官方推荐用Imagemagick将SVG转成jpg. 考虑如何得到SVG, 大量文档推荐用 nodejs+jsdom从json数据中生成svg. 在实际使用中,  Imagemagick和jsdom环节处理复杂的数据都非常孱…
记录一下ThinkPHP搭建网站后台.调整好样式等操作步骤 下载好ThinkPHP(3.2.3),解压后将核心文件夹ThinkPHP以及index.php等文件复制到网站根目录如下图 对index.php文件进行操作,修改参数使生成的网站目录是自己想要的目录 <?php // 应用入口文件 // 检测PHP环境 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); //设置响应头 header…
这篇文章是计算机网络上机实验课的作业. 实验任务:利用 VMWare 搭建一个由 5 个主机组成的随机拓扑的网络.要求该网络中至少有 2 个子网,两个路由器 .实验的网络拓扑图如下: 网络中有两个路由器,三个终端,组成三个局域网络.路由器和终端均为VMWare的的虚拟机.VMWare软件下载就在百度下载就可以了.这里我收藏了八台虚拟机ubuntu12,需要的同学可以下载使用哦.下载链接:https://pan.baidu.com/s/1miMIM9q (每台虚拟机的用户名和密码都是user,三台…
利用 ELK 搭建 Docker 容器化应用日志中心 概述 应用一旦容器化以后,需要考虑的就是如何采集位于 Docker 容器中的应用程序的打印日志供运维分析.典型的比如SpringBoot应用的日志收集. 本文即将阐述如何利用ELK日志中心来收集容器化应用程序所产生的日志,并且可以用可视化的方式对日志进行查询与分析,其架构如下图所示: 架构图 镜像准备 ElasticSearch镜像 Logstash镜像 Kibana镜像 Nginx镜像(作为容器化应用来生产日志) 开启Linux系统Rsys…
零.概述 我利用flask搭建了一个简易的共享服务器,分享给大家 一.python代码 import os import time from flask import Flask,render_template,url_for,redirect,send_from_directory # 共享文件夹的根目录 rootdir = r'C:\Users\Administrator\Downloads\zlkt' app = Flask(__name__) @app.route('/doc/') @a…
利用nginx搭建http和rtmp协议的流媒体服务器 实验目的:让Nginx支持flv和mp4格式文件,同时支持Rtmp协议:同时打开rtmp的hls功能资料:HTTPLive Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议.HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器.它也很容易使用内容分发网络来传输媒体流.使用ffmpeg来完成对flv.mp4.mp3等格式的转化(点播实…
搭建angular开发环境 一.下载并安装node 官网地址:点击前往 二.利用npm安装cnpm 安装好node后就可以使用npm命令啦 查看版本:npm -v 安装cnpm:npm install -g cnpm –-registry=https://registry.npm.taobao.org 查看cnpm版本:cnpm -v 三.利用cnpm安装angular-cli cnpm i -g install @angular/cli@latest 注意:安装完angular-cli后就可以…
利用Docker搭建本地https环境的完整步骤 这篇文章主要给大家介绍了关于如何利用Docker搭建本地https环境的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 什么是 HTTPS 我们都知道 Web App 的运行都是建立在网络应用层 HTTP 协议的,HTTP 协议能够进行客户端和服务器之间的请求和返回.但是这个过程是明文传输的,当请求被抓包后传输内容很容易被篡改,这对用户的安全性来说是极其严重的威胁.PWA 应…
利用Laravel 搭建oauth2 API接口 要求 laravel 5.4以上 安装 $ composer require laravel/passport 在配置文件 config/app.php 的providers 数组中注册 Passport 服务提供者: LaravelPassportPassportServiceProvider::class, 迁移数据库 执行完后会生成oauth需要的表 $ php artisan migrate 这一步注意,执行的时候可能会报错 Syntax…
下面的代码演示如何利用 nodeJS 搭建一个简单的Web服务器: 1. 文件 WebServer.js: //------------------------------------------------ // 利用nodejs搭建一个简单的Web服务器 //------------------------------------------------ //启动计时器,记录启动服务所花费的时间 console.time('start WebServer need time'); //请求模…
今天繼續學習JavaScript,視頻講的確實挺差勁的.還是只能跟著W3School自己慢慢摸索著弄了.自己百度了一下,參考了一個大佬寫的一個簡單的計算器代碼.代碼能跑通,但是做出來的樣子實在是感覺太丑了.做完以後自己又把樣式重新寫了一遍.結果就變成這樣的了.下面就是今天的代碼: <!doctype html> <html> <head> <meta charset="utf-8"> <title>JSNote1</ti…
1. 大数据和Hadoop 研究学习大数据,自然要从Hadoop开始. Hadoop不是一个简单的软件,而是有一些列软件形成的生态,其核心思想来自Google当初发布的三篇论文,后来做了开源的实现, 谷歌的实现和Hadoop的实现大致可以做这样的对应: Google Map/Reduce <---> Hadoop MapReduceGoogle GFS <---> Hadoop HDFSGoogle BigTable <---> Hadoop HBase Hadoop生…
利用 Docker 搭建 IPFS 私有网络 本文原始地址:https://sitoi.cn/posts/40630.html 下载项目 项目地址:https://github.com/Sitoi/private-network-ipfs 环境 两台 Linux 设备,分别配置他们的ip地址为 192.168.1.244 和 192.168.1.246 步骤 修改挂载目录 通过 docker 创建 IPFS 容器 确保配置 IPFS API 以允许跨源(CORS)请求 生成并分发一个共享 key…