(文章是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com)

node.js模拟简易漂流瓶,页面有扔瓶子和捡瓶子的功能,一个瓶子只能被捡到一次,阅读完就置状态位,如果没有瓶子,提示无瓶子,等等,功能很丰富哦,let‘s   go

(1)安装python,node,由于这是很久之前装的了,此次不再重复。

(2)下载sqlite3数据库,网址为http://www.sqlite.org/download.html,

选择:Precompiled Binaries for Windows,下载完别忘记把这个文件放在c盘的windows下的sysytem32文件夹里。

(3)新建项目文件夹,打开终端,进入文件夹目录,先安装一下必要的插件,命令如下,npm install cryptojs,npm install sqlite3

开始建数据库,sqlite3  bottle.db就可以建新的bottle数据库啦,然后建表
CREATE TABLE message(
id Integer primary key autoincrement,
nick_name varchar(20),
content varchar(4096),
is_read boolean,
create_time datetime,
update_time datetime
);

整个项目的代码就是html文件和js文件组成的,非常和谐的,

前端html建立XMLHttpRequest,在onreadystatechange这个回调函数里判断状态,用的是最原始的ajax异步调用,get方式,这决定了漂流瓶不能内容太多,url传值有数量限制,最大是4k。

核心代码如下:都是毫无悬念的东西,原生的,求大神指点框架版本的怎么破。

xhr.onreadystatechange=function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
alert(xhr.responseText);
var returnValue = JSON.parse(xhr.responseText);
alert(returnValue.result);
}
else if(xhr.status == 500){
alert("出错了");
}
}
}
xhr.open('get','/send?content='+encodeURIComponent(c)+"&name="+encodeURIComponent(nickName),true);
xhr.send(null);

server部分核心代码:

var url = require("url")        类似的方法进行请求

var db = new sqlite.Database("bottle.db");  把咱们建好的数据库用起来

http.createServer(........).listen(8080); 监听端口8080,

最后别忘记退出的时候关闭数据库连接
process.on("SIGINT",function(){
console.log("program will exit.");
db.close();
process.exit(1);
})

好叻,把node跑起来吧,在终端输入node  bottle_server.js

这个就是咱们刚写好的js的名字,现在可以在浏览器中输入localhost:8080

重定向到了html页面,现在就可以扔瓶子捞瓶子了,哈哈,很有趣啊,虽然捞到的都是自己扔的瓶子

node.js模拟qq漂流瓶的更多相关文章

  1. node.js 模拟自动发送邮件验证码

    node.js 模拟自动发送邮件验证码 引言 正文 1. QQ邮箱设置 2. 安装nodemailer 3.配置信息 4.综合 5.讲解 结束语 引言 先点赞,再看博客,顺手可以点个关注. 微信公众号 ...

  2. Node.js模拟发起http请求从异步转同步的5种方法

    使用Node.js模拟发起http请求很常用的,但是由于Node模块(原生和第三方库)提供里面的方法都是异步,对于很多场景下应用很麻烦,不如同步来的方便.下面总结了几个常见的库API从异步转同步的几种 ...

  3. node.js模拟学校教务处登录

    临近毕业,在做毕设,我的毕设中有一个功能是模拟我学校的教务处登录以获得cookie,本来以为是挺简单的一个功能,但却花了我两天的时间.(我学校教务处用的是湖南强智科技开发的) 在网上搜了大量的模拟登录 ...

  4. js 模拟QQ聊天窗口图片播放效果(带滚轮缩放)

    页面效果如下: 完整代码如下: <!DOCTYPE html> <html> <head> <title>Test</title> < ...

  5. 用node.js模拟服务器和客户端

    服务器 代码 var net = require("net") var server = net.createServer(); server.listen(12306," ...

  6. 15个Node.js项目列表

    前言: Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台,是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascri ...

  7. Node.js 入门到干活,10 个优质项目就够了!

    Node.js 在很多大公司都有不错的实践,比如:淘宝.天猫 Web 版,很多页面都是在 Node 服务器上渲染的.还有各种脚手架.前端打包发布工具.构建生态的小工具,也基本都是 Node.js 编写 ...

  8. node.js使用express框架进行文件上传

    关于node.js使用express框架进行文件上传,主要来自于最近对Settings-Sync插件做的研究.目前的研究算是取得的比较好的进展.Settings-Sync中通过快捷键上传文件,其实主要 ...

  9. Node.js:实现知乎(www.zhihu.com)模拟登陆,获取用户关注主题

    前一段时间,在瞎看看 Node.js,便研究通过 Node.js 实现知乎模拟登陆.相信,有很多网站有登陆权限设置,如若用户未登陆,将会跳转至首页提醒用户登陆,无法浏览部分页面. 如若是 b/s 架构 ...

随机推荐

  1. Bootstrap系列 -- 35. 按钮的向下向上三角形

    按钮的向下三角形,我们是通过在<button>标签中添加一个“<span>”标签元素,并且命名为“caret”. <div class="btn-group d ...

  2. [CH#58解题报告]

    题目:http://206.contesthunter.org/contest/CH%20Round%20%2358%20-%20OrzCC%E6%9D%AFnoip%E6%A8%A1%E6%8B%9 ...

  3. C#基础知识系列八(const和readonly关键字)

    前言 不知道大家对const和readonly这两个关键字的区别有什么了解,原来自己之前还真不清楚它们到底是怎么回事,那么如果你也不是很清楚的话,可以一起来探讨一下.在了解这两个关键字的时候我们先来了 ...

  4. [AaronYang]C#人爱学不学[6]

    不要回头,不要将就,做到这两点,人生就会简单很多幸福很多 --Aaronyang的博客(www.ayjs.net)-www.8mi.me 1. 运算符,还有哪些你能学到? 1.1 不安全运算符: si ...

  5. Bootstrap3.0学习第十六轮(进度条、媒体对象、列表组、面板)

    详情请查看http://aehyok.com/Blog/Detail/23.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...

  6. Moqui学习之数据与资源

    资源位置: 资源门面位置的字符串类似于URL的构成方式:协议,主机,可选端口和文件名.它支持标准的java URL协议(http https ftp jar file).同样也支持一些扩展的协议: c ...

  7. android学习——Android Studio下创建menu布局文件

    一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...

  8. CSS重点巩固

    一:position定位 a: static 定位 ,HTML元素的默认值,即没有定位,元素出现在正常的流中.静态定位的元素不会受到top, bottom, left, right影响. b: fix ...

  9. Fluent Ribbon项目出现“命名空间“clr-namespace:Fluent;assembly=Fluent”中不存在“RibbonWindow”名称”的解决方法

    之前在学习@aganqin的Fluent Ribbon项目(http://www.cnblogs.com/aganqin/p/3269384.html).但是一直都有引用了Fluent.dll后仍旧出 ...

  10. hdu 3068 最长回文子串 马拉车模板

    前几天用后缀数组写过一次这题,毫无疑问很感人的TLE了-_-|| 今天偶然发现了马拉车模板,O(N)时间就搞定 reference:http://acm.uestc.edu.cn/bbs/read.p ...