1. 具体代码在需要的下载 https://gitee.com/zyqwasd/socket 效果: 2. package.json文件 1. 下载基本的模块  修改了start 脚本  nodemon 需要先单独下载 npm install nodemon  开启服务器直接nodemon就好 1 { 2 "name": "socketio", 3 "version": "1.0.0", 4 "description…
目标是建立一个 web QQ的项目,使用的技术栈如下: 后端是基于koa2 的 web api 服务层,提供curd操作的http接口,登录验证使用的是 json web token,跨域方案使用的是 cors: 数据库使用的是 mysql: 为了实时通信,使用的是基于websocket协议的 socket.io 框架: 前端则使用的是 vue + vuex. 本篇则讲叙服务端的搭建,之所以使用 koa,而不使用其他封装过的框架,比如 Egg.js, Thinkjs.因为在我看来,koa2 已经…
后端搭起大体的框架后,接着涉及到的就是如何将数据持久化的问题,也就是对数据库进行 CURD 操作. 关于数据库方案, mongodb 和 mysql 都使用过,但我选用的是 mysql,原因: 目前为止 mysql 与 mongodb 性能相差不大,尤其是 mysql 8.0 版本,速度非常快,查询数据是 mysql 更快,写数据方面 mongodb 则更胜一筹: mysql 建立 关联数据要更方便些,比如: 一对多,多对多的关系: mysql 作为关系型数据库,数据一致性方面更好,尤其是事务用…
最近练手开发了一个项目,是一个聊天室应用.项目虽不大,但是使用到了react, react-router, redux, socket.io,后端开发使用了koa,算是一个比较综合性的案例,很多概念和技巧在开发的过程中都有所涉及,非常有必要再来巩固一下. 项目目前部署在heroku平台上,在线演示地址: online demo, 因为是国外的平台速度可能有点慢,点进去耐心等一会儿就能加载好了. 加载好之后,首先出现的页面是让用户起一个昵称: 输入昵称之后,就会进入聊天页面,左边是进入聊天室的在线…
首发:个人博客,更新&纠错&回复 今天的思维漫游如下:从.net的windows程序开发,摸到nodejs的桌面程序开发,又熟悉了一下nodejs,对“异步”的理解有了上上周对操作系统的学习而更能理解.然后发现了Node.js中的socket.io这个模块,又觉得跟前几天用.net做客户端的socket游戏了.技术世界,兜兜转转,相逢一笑,疑是故人. socket.io用来做实时web程序,解决之前的B/S程序只有无状态连接,特定需求还需要用长连接这种“奇技淫巧”的问题.当然,这是html…
Nodejs实现websocket的4种方式:socket.io.WebSocket-Node.faye-websocket-node.node-websocket-server,主要使用的是socket.io 1.服务端: 1)首先安装socket.io npm  install  socket.io 2)server.js var app = require('http').createServer(handler), io = require('socket.io').listen(app…
1.新建package.json文件: { "name": "socket-chat-example", "version": "0.0.1", "description": "my first chat socket-chat-example", "dependencies": { "express": "^4.14.0",…
本文就是在windows下进行socket编程,搭建一个TCP客户端. 在visual studio下编程,首先在windows下进行初始化(这点在linux下是不需要的): /* 初始化 Winsock */ #include<stdio.h> #include<winsock2.h> #pragma comment(lib,"ws2_32.lib") int main(int argc, char *argv[]) { WSADATA wsa; printf…
要准备什么? 1.5刀 2.最好有FQ软件(可以用蓝灯) let's Go! 一.vps购买 vps可以选择digital ocean(do) 链接 ,由于是外国网站,响应比较慢,所以最好翻个墙. github有一个学生包的优惠,可以赠送一个50刀do优惠券.关于github学生包的申请可以去百度,申请这个需要有一个edu账号或者学生证明.github学生包,我申请大概花了2天时间,就上传了学生证 申请好了我们就一步一步的开始选购吧 1.注册账号并登录 2.确认了email后首先要激活账户 如果…
首先编写我们服务器上需要的c文件WebServer.c 涉及到的函数API: int copy(FILE *read_f, FILE * write_f) ----- 文件内容复制的方法 int DoHTML(FILE *f, char * name) ------ socket通讯文件发送的重要方法,阐述出了socket编程中的send函数和recv函数的机理!! int ParseReq(FILE *f, char *r) -----文件字符串解析的重要方法 int HandleConnec…