位置: 编程技术 - 正文

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++扩展)

  • 服务型公司要交多少税
  • 金税三期是什么意思
  • 过路费定额发票还能入账吗
  • 盈利就是净利润吗
  • 增值税专票丢了能补开吗
  • 资产减值损失确认后,减值资产的折旧
  • 转给个人账户的钱可以追回来了吗?
  • 增值税过期未抵扣
  • 购买日子公司账面价值调整为公允价值
  • 从国内往国外寄东西要多久
  • 正在注销的公司微信收的款怎么追回
  • 专票进项税可以抵扣几个月以前的
  • 内销选择性征收关税政策试点
  • 发票已认证对方起诉有效吗
  • 增值税普通发票和普通发票的区别怎么交税
  • 应收账款的坏账处理方式有哪几种
  • 往来款借方
  • 非居民纳税人享受协定待遇办理方式
  • 利息收入和利息费用的区别
  • 合并报表同一控制下和非同一控制下区别
  • 单位开具发票
  • 劳务费个税扣税
  • 代收的水电费怎么做账
  • scdeploy.exe
  • 土地使用权进项税如何抵扣
  • 商业自持店铺出租合法吗
  • 公司整体收购协议书范本
  • adguard安全
  • 境外付款
  • Vue3 + Vite + TypeScript + dataV 打造可视化大屏
  • chrome使用教程
  • 企业在境外发生业务国外缴税后国内怎么做
  • laravel5.4生成验证码的代码
  • 发票密码区如何调整
  • 网站禁止了有什么方法打开
  • 计算工业总产值公式
  • 小规模纳税人没有收入怎么报税
  • 住房公积金的账号怎么查询
  • 增值税专票的开票要求
  • 基于python语言
  • mac os x10.9.5
  • mysql profiles
  • 房企预缴增值税
  • 企业借入长期借款的用途主要有
  • php图片格式转换
  • 十个提高情商的方法
  • 可以抵扣的进项发票有哪些
  • 预收账款和应收账款可以合并吗
  • 质保金 销售费用
  • 营业利润净利润利润总额的区别
  • 销货清单自己留哪一联
  • 房地产企业帐套设置
  • 应收账款和预收账款都是企业的债权
  • 投标保证金以现金形式转为履约保证金
  • 收到党支部经费如何做账
  • 个人挂靠公司承接工程如何做会计处理?
  • 无形资产资本化加计扣除可抵扣暂时性差异
  • 工会经费按照什么计算缴纳
  • mysql删除有外键关联的数据
  • macfic
  • macos dock
  • linux中sed命令
  • win10右键菜单不显示
  • win10更新总失败
  • bootstrap栅格布局
  • [Unity3D]Stencil buffer失效了怎么办
  • nodejs 异步
  • apache使用端口
  • bat error
  • 学javascript可以干什么工作
  • 基于网络创新形成的大数据的最突出特征是什么?( )
  • js中concat的用法
  • jquery是怎样实现链式调用的?
  • 城乡医保怎么看有没有钱
  • 12366重庆电子税务局
  • 工厂的税率是多少
  • 没有代理记账资格的公司能代理记账吗
  • 办理养殖照税务登记证
  • 关于切实加强建筑施工领域安全防范工作
  • 国家土地征收管理办法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设