IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> uniapp即时通讯、用socket.io-client的坑 -> 正文阅读

[JavaScript知识库]uniapp即时通讯、用socket.io-client的坑

uniapp即时通讯

历时一个月,高仿聊天APP雏形基本已完成,前端采用uni纯nvue混合开发,采用socket.io-client通讯协议来进行通讯,历史数据存储在手机、会话数据存在数据库。

import io from 'socket.io-client';
 
export default class Main extends Component {
    constructor(props) {
        super(props);
        this.state = {
            news: []
        };
    };
 
    getNews() {
 
        //和后端服务建立链接
        const socket = io('ws://10.0.3.69:8442');
 
        //监听后端推送过来的数据(注,init是可以自定义的,只要和后端约定好可行了!!)
        socket.on('init', (data) => {
 
            console.log(data); //这是后端推送过来的数据
 
            this.setState({
                news: data
            });
        });

        let msg = '我是前端向后端发送的数据!!';
 
        //向后端发送数据
        socket.emit('send', { text: msg});
        
        //后端在接收时也就是监听send就可以得到前端传过来的数据了
 
    };
    componentWillMount() {
        this.getNews();
    };
 
    componentDidMount() {    
 
    };
 
    render() {
        return (
            <section className="main">
                <ul className="news-box">
                    <li>
                        {
                            this.state.news.map((item, index) =>{
                                return (`<b>${item.num}</b> <span>${item.content}</span>`)
                            })
                        }
                    </li>
                </ul>
               
            </section>
        );
    };
};
socket.on()方法:
    - socket.on()用于监听获取服务端(后端)发送过来的数据

    - socket.on('monitorName', callBack)有两个参数:

        + monitorName:是监听的标识,是自定义的,只要和后端约定好可行了!!)

        + callBack:是一个回调函数,里面的参数就是后端发送过来的数据
socket.emit()方法:
    - socket.emit()用于向服务端(后端)发送数据

    - socket.emit('monitorName', sendData)有两个参数:

        + monitorName:是监听的标识,是自定义的,只要和后端约定好可行了!!)

        + sendData:可以是字符串,也可以是{}JSON对象,这是向后端发送过去的数据

下面是一些功能截图
请添加图片描述

请添加图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:20:07  更:2022-02-28 15:24:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:10:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码