(node.js+socket.io+express)后台 + socket.io-client-java(android端) + socket.io-client-swift(ios端) 搭建全平台聊天系统
之前用的第三方的消息推送 jpush 的消息推送,和环信的Im。
目前个人觉得自己实现有两个简单的方案可以使用:
node.js+socket.io+express (websocket)netty + socket.io (websocket) 介于netty的学习有一定难度,本人更倾向于node.js 来开发 且一些知名的大公司也都在使用node.js服务器
移动端
客户端(android、ios) 可以使用其他一些支持websocket的框架 如:android 的okhttp ,ios 中 facebook公司的 SocketRocket 等, 非socket.io 也可。
ios 端 的socket.io github地址: socket.io-client-swiftios 端 demo: socket.io-client-swift-exampleSocketIOClient api :
https://nuclearace.github.io/Socket.IO-Client-Swift/Classes/SocketIOClient.html
android端的socket.i0 github地址: socket.io-client-javaandroid 端 demo: Android chat demo
socket.io pc 版 doc英文版 : https://socket.io/docs/中文版:https://github.com/nswbmw/N-chat/wiki/第一章-socket.io-简介及使用
ios 的apns 消息推送(java版)http://blog.csdn.net/moyanxuan_1993_2_24/article/details/51691712
服务器端
node.js 版demo : https://github.com/nswbmw/N-chat
netty 版netty 学习: https://www.w3cschool.cn/netty4userguide/aive1mtp.htmlhttps://github.com/mrniko/netty-socketiodemo : https://github.com/mrniko/netty-socketio-demo
Node.js + Socket.io 实现一对一即时聊天
作者:五月君
转发链接:https://mp.weixin.qq.com/s/TLKkRwftewa0uMvIRlOf5g
前言
实现一对一即时聊天应用,重要的一点就是消息能够实时的传递,一种方案就是熟知的使用 Websocket 协议,本文中我们使用 Node.js 中的一个框架 Socket.io 来实现。
效果预览
先看下,我们实现的最终效果,如下所示:
你也可以在浏览器分别输入以下两个 URL 地址进行体验:
http://120.27.239.212:30010/?sender=赵敏&receiver=聂小倩http://120.27.239.212:30010/?sender=聂小倩&receiver=赵敏
技术选型
前端:HTML + CSS + JS 还用到了 Boostrap 来实现我们的页面布局和一些样式渲染。后端:Node.js + Express + Socket.io。
前端实现
HTML 页面布局
聊天页面的 HTML 布局是不复杂的,大体分为 3 层,如下所示:
chat-header:聊天界面头部信息。chat-content:用来显示聊天的整体内容信息,现在看到的仅是一个空的 div 在发出或收到聊天信息之后会去操作 DOM 向聊天体内插入消息内容。chat-bottom:最下面展示了我们聊天窗口的内容输入窗口和发送按钮。