欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > Flutter详细使用socketIo实现实时通讯

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

2024/10/24 4:47:45 来源:https://blog.csdn.net/weixin_49853850/article/details/140160183  浏览:    关键词:Flutter详细使用socketIo实现实时通讯

文章目录

  • 1. NodeJS
  • 2. SocketIo
  • 3. 服务端实现
    • 3.1 Express
  • 4 Flutter
  • 总结

1. NodeJS

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

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


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();
}

总结

如果有不懂得 直接私信。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com