位置: 编程技术 - 正文

iOS + node.js使用Socket.IO框架进行实时通信示例(nodejs apply)

编辑:rootadmin

推荐整理分享iOS + node.js使用Socket.IO框架进行实时通信示例(nodejs apply),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs apply,node.js macos,node.js怎么用,ios 运行nodejs,iphone nodejs,node app.js,nodejs apply,node.js怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

Socket.IO是一个基于WebSocket的实时通信库,在主流平台都有很好的支持,此文主要是通过一个小例子来演示Socket.IO的使用。

基础环境搭建

新建一个文件夹(JS工程),创建一个package.json,复制以下内容并保存。

然后执行npm命令,安装我们需要的依赖(Express和Socket.IO), 请确保你电脑已经有node环境

在项目根目录也就是package.json所在的目录在终端执行以下命令

进度条读完后会多这么一个文件夹,此时Express和Socket.IO就已经安装好了,这和iOS的Cocopods差不多,以模块化进行加载。

然后新建一个index.js作为服务端,再建一个index.html作为客户端。(为了方便演示,我这里有两个客户端,一个是iOS端,一个是浏览器端)

index.html

这也是官方Demo的演示界面,UI上没做修改

代码如下

index.js

开启了一个Server,监听端口,然后回到项目根目录,在终端输入node index.js

如果出现listen 则表明服务开启成功了,此时在浏览器访问 就能看到index.html页面了

iOS客户端的集成

iOS + node.js使用Socket.IO框架进行实时通信示例(nodejs apply)

新建一个iOS工程,在终端cd到项目根目录创建一个Podfile文件

vim Podfile

复制以下内容

保存退出,执行命令安装依赖

pod install or pod install --verbose --no-repo-update

请确保已经有cocopods环境

iOS端的UI

使用Socket.IO

此时我们的客户端和服务端都已经有了Socket.IO的环境了,接下来就是使用它进行聊天了。

Socket.IO中事件的处理主要通过这两个方法来实现的

on方法为接收事件的方法,emit为发送事件的方法

我们的需求是让浏览器和iOS客户端进行单聊

服务端的处理

要想发送到指定的客户端,需要知道当前客户端的id(Socket.IO的id,例:3tBArlKa2fA-AAAd),但是客户端并不清楚,客户端只知道我们自己定义的id,所以我们要将Socket.IO的Id和我们自己定义的id绑定并存储起来。

客户端的处理

浏览器的处理

iOS端的处理

iOS在初始化的时候需要一个config字典,config可以配置诸如log日志输出等设置

标签: nodejs apply

本文链接地址:https://www.jiuchutong.com/biancheng/379411.html 转载请保留说明!

上一篇:从零开始学习Node.js系列教程之设置HTTP头的方法示例(从零开始的基础篇)

下一篇:nodejs和C语言插入mysql数据库乱码问题的解决方法(nodejs来一打c++扩展)

  • 金税盘开票软件换电脑后怎么操作
  • 员工工伤住院伙食补助标准是多少
  • 银行本票与银行本票存款的区别
  • 加计抵减税额账务处理
  • 差旅费用什么记账凭证
  • 运输企业车辆折旧一次性折旧
  • 本期缴纳前期应纳税额
  • 增值税清卡失败什么原因
  • 住宿开发票的税率是多少
  • 个体户购买社保和自由人购买社保区别
  • 可以向国外账户汇人民币吗
  • 支付违约金未取得正规发票能不能在税前列支
  • 短期薪酬是会计科目么
  • 发票存在哪些税务风险?
  • 出口退税转为免税
  • 计提营业账簿印花税怎么做账
  • 固定资产的初始成本包括
  • 技术服务合同增值税税率3%
  • 中药饮片适用增值税税率
  • 企业零星支出是否需要发票
  • 零余额账户期末怎么结转?
  • 报税提示您可能缺少相关组件怎么处理
  • 1697510605
  • win10两个屏幕两个桌面
  • php数据库分页是怎么实现的
  • 收到银联商务付款短信
  • 电脑中毒如何处理
  • win10电源高性能被删了
  • cookie验证和token验证的区别
  • thinkphp use命名空间
  • 收款凭证和付款凭证区别
  • 电汇款项会计分录
  • 出现巨石
  • 长期股权投资初始计量和后续计量的区别
  • 留抵税额进项构成比例
  • php用正则匹配网页的logo
  • 物流辅助服务包括货物运输吗
  • 售后回购怎么做会计处理
  • sql server2016使用
  • windows pythonpath
  • 基金管理人应当自与基金销售机构签订销售协议之日起
  • 生产加工企业的成本核算
  • puthon zip函数
  • 承租方承担税费
  • 进项税额漏报处理办法
  • 跨月红字发票开错了可以撤销吗
  • 联营企业属于关联实体吗
  • 高并发数据库解决方案
  • 企业所得税多预缴了怎么办
  • 其他应付款贷方余额怎么冲平
  • 外经证适用范围
  • 一般纳税人证明在哪里开具
  • 网上订机票怎么拿报销凭证
  • 现金日记账的登记规范及要求
  • 土地作为无形资产需要计提折旧吗?
  • 无形资产减值准备借贷
  • 企业零申报要报哪些税
  • windows使用痕迹是指是什么
  • sql 超时时间
  • windows搭建radius
  • windows中输入法的安装步骤
  • win7无法安装谷歌
  • 在u盘里装win7
  • Linux系统下以模块方式安装卸载文件系统
  • windows7网络和internet设置
  • 举例讲解水生花卉栽培管理
  • 深入理解新发展理念心得体会3篇
  • opengl和directX区别
  • nodejs报错
  • node javascript
  • unity3d4个脚本
  • jquery mobile ui
  • nodejs如何使用
  • android StrictMode使用
  • js 堆排序
  • jquery 动态添加元素
  • 税务局分类分级
  • 贵州新农合可以打电话停保吗
  • 公寓土地增值税30%-60%阶梯税
  • 山东省国税局电话客服热线
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设