Flutter详细使用socketIo实现实时通讯

文章目录

  • [1. NodeJS](#1. NodeJS)
  • [2. SocketIo](#2. SocketIo)
  • [3. 服务端实现](#3. 服务端实现)
    • [3.1 Express](#3.1 Express)
  • [4 Flutter](#4 Flutter)
  • 总结

1. NodeJS

复制代码
  首先使用Node创建一个服务端,让Node来对所有接受到的数据进行一个获取和存储已经转发。通过在Node中编写接口来对数据进行一个具体的操作。不懂接口可以查看这篇文章。[接口](https://editor.csdn.net/md/?articleId=133947635)

2. SocketIo

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

3. 服务端实现

3.1 Express

复制代码
	没有基础的去看一下Node,方便后续代码的学习。主要用来对各个接口的数据进行渲染和前端页面的展示。
javascript 复制代码
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

dart 复制代码
@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();
}

总结

如果有不懂得 直接私信。

相关推荐
yuanlaile5 小时前
2026年全新Flutter 跨平台开发全栈学习资料整理
flutter·getx·鸿蒙 next·flutter开发鸿蒙·flutter入门实战·flutter全栈
恋猫de小郭15 小时前
Genkit Dart 1.0 发布,Flutter 原生的 AI Agent 终于完整了
android·前端·flutter
第10086个小白16 小时前
flutter桌面端打包方式(Inno Setup Compiler)版本
前端·flutter
陆断枫1 天前
Flutter 3.47 动画引擎盘点:Impeller 全平台,和那些"新特性"
flutter
程序员老刘1 天前
Flet 1.0 思路很好,可惜来晚了
flutter·ai编程·客户端
m0_738185822 天前
Flutter 鸿蒙化实战:qr_code_scanner_plus 适配 OpenHarmony,二维码扫描
flutter·华为·harmonyos·鸿蒙
恋猫de小郭2 天前
Flutter + EmbeddingGemma 2,谷歌发布完全端侧的 AI Edge Foresight
android·前端·flutter
君赏2 天前
基于 FlutterPatch 快速接入 Flutter 热更新
flutter
律宏阔2 天前
Dart FFI 内存管理:用 using + Arena 替代嵌套 try-finally
前端·flutter
律宏阔2 天前
Flutter 调用 Go:从 c-shared + ffigen 到 @Native + Native Assets 踩坑记录
前端·flutter