Flutter使用socketIo实现实时通讯

 更新时间:2024年07月04日 08:33:03   作者:小猿_00  
本文主要介绍了Flutter使用socketIo实现实时通讯,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1. NodeJS

首先使用Node创建一个服务端,让Node来对所有接受到的数据进行一个获取和存储已经转发。通过在Node中编写接口来对数据进行一个具体的操作。

2. SocketIo

Socket.io 是一个基于事件驱动的实时通信库,可以在浏览器和服务器之间建立持久连接,使得双向实时通信成为可能。它为开发者提供了简单易用的 API,支持跨平台、跨浏览器的实时通信。

3. 服务端实现

3.1 Express

没有基础的去看一下Node,方便后续代码的学习。主要用来对各个接口的数据进行渲染和前端页面的展示。

var express=require('express');
var app=express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
app.set('view engine','ejs');
app.use(express.static('public'));
app.get('/',function(req,res){
	res.render('index');
})
server.listen(8000);
//socket.io 配置
io.on('connection', function (socket) {
	console.log('建立连接');
	socket.on('toServer',function(data){
	console.log(data);
	socket.emit('toClient',data);
})
});

4 Flutter

@override
void initState() {
this.socket = IO.io('http://192.168.0.11:3000?roomid=1', <String, dynamic>{
	'transports': ['websocket'],
	'extraHeaders': {'foo': 'bar'} // optional
});
//建立连接的时候触发的方法
socket.on('connect', (_) {
print('connect');
socket.emit('toServer', 'test'); //给服务器发送消息
});
//接收到信息的时候触发的方法
socket.on('toClient', (data){
setState(() {
this._messageList.add(
	{ 
		"server":true,
		'title':data
	}
);
});
});
//断开连接的时候触发的方法
socket.on('disconnect', (_) => print('disconnect'));
super.initState();
}

总结

到此这篇关于Flutter使用socketIo实现实时通讯的文章就介绍到这了,更多相关Flutter socketIo实时通讯内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Android Flutter如何自定义动画路由

    详解Android Flutter如何自定义动画路由

    flutter中有默认的Route组件,叫做MaterialPageRoute,但是MaterialPageRoute太普通了,如果我们想要做点不同的跳转特效应该如何处理呢?一起来看看吧
    2023-04-04
  • Android编程实现输入框动态自动提示功能

    Android编程实现输入框动态自动提示功能

    这篇文章主要介绍了Android编程实现输入框动态自动提示功能,结合实例形式分析了AutoCompleteTextView相关使用技巧,需要的朋友可以参考下
    2017-03-03
  • android教程viewpager自动循环和手动循环

    android教程viewpager自动循环和手动循环

    这篇文章主要介绍了android的viewpager自动循环和手动循环示例,需要的朋友可以参考下
    2014-02-02
  • Android rom解包打包工具

    Android rom解包打包工具

    这篇文章主要介绍了Android rom解包打包工具的相关资料,对rom解包打包相关知识感兴趣的朋友可以参考下
    2016-01-01
  • Android studio下载安装使用SVN的方法

    Android studio下载安装使用SVN的方法

    在AndroidStudio中开发版本控制,除了Git就是SVN,和Eclipse不同,Android Studio没有提供单独的插件,只能和SVN客户端关联使用,这篇文章主要介绍了Android studio使用SVN的方法,需要的朋友可以参考下
    2022-09-09
  • Android监听应用前台的实现方案

    Android监听应用前台的实现方案

    在 Android 应用开发中,监听应用前台状态是一项核心功能,对于优化用户体验、提升资源管理效率以及实现系统级功能具有重要意义,以下将从技术实现、业务场景和系统特性等多个维度,深入探讨几种主流的实现方案,需要的朋友可以参考下
    2025-02-02
  • Android实现越界回弹效果

    Android实现越界回弹效果

    这篇文章主要介绍了Android实现越界回弹效果,支持水平和垂直方向,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 详解Android中实现Redux方法

    详解Android中实现Redux方法

    本篇文章给大家通过代码实例教学Android中实现Redux的方法,有需要的朋友跟着参考下吧。
    2018-01-01
  • android中Bitmap用法(显示,保存,缩放,旋转)实例分析

    android中Bitmap用法(显示,保存,缩放,旋转)实例分析

    这篇文章主要介绍了android中Bitmap用法,以实例形式较为详细的分析了android中Bitmap操作图片的显示、保存、缩放、旋转等相关技巧,需要的朋友可以参考下
    2015-09-09
  • 浅谈Android Studio JNI生成so库

    浅谈Android Studio JNI生成so库

    下面小编就为大家带来一篇浅谈Android Studio JNI生成so库。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论