最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flutter使用socketIo實現(xiàn)實時通訊

 更新時間:2024年07月04日 08:33:03   作者:小猿_00  
本文主要介紹了Flutter使用socketIo實現(xiàn)實時通訊,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. NodeJS

首先使用Node創(chuàng)建一個服務(wù)端,讓Node來對所有接受到的數(shù)據(jù)進(jìn)行一個獲取和存儲已經(jīng)轉(zhuǎn)發(fā)。通過在Node中編寫接口來對數(shù)據(jù)進(jìn)行一個具體的操作。

2. SocketIo

Socket.io 是一個基于事件驅(qū)動的實時通信庫,可以在瀏覽器和服務(wù)器之間建立持久連接,使得雙向?qū)崟r通信成為可能。它為開發(fā)者提供了簡單易用的 API,支持跨平臺、跨瀏覽器的實時通信。

3. 服務(wù)端實現(xiàn)

3.1 Express

沒有基礎(chǔ)的去看一下Node,方便后續(xù)代碼的學(xué)習(xí)。主要用來對各個接口的數(shù)據(jù)進(jìn)行渲染和前端頁面的展示。

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
});
//建立連接的時候觸發(fā)的方法
socket.on('connect', (_) {
print('connect');
socket.emit('toServer', 'test'); //給服務(wù)器發(fā)送消息
});
//接收到信息的時候觸發(fā)的方法
socket.on('toClient', (data){
setState(() {
this._messageList.add(
	{ 
		"server":true,
		'title':data
	}
);
});
});
//斷開連接的時候觸發(fā)的方法
socket.on('disconnect', (_) => print('disconnect'));
super.initState();
}

總結(jié)

到此這篇關(guān)于Flutter使用socketIo實現(xiàn)實時通訊的文章就介紹到這了,更多相關(guān)Flutter socketIo實時通訊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

张家港市| 宣武区| 汝城县| 岢岚县| 北辰区| 康保县| 兴宁市| 高邮市| 隆林| 墨脱县| 敦化市| 莆田市| 杭锦旗| 石渠县| 鹤岗市| 昌都县| 西宁市| 宁陵县| 砚山县| 突泉县| 无极县| 桃园市| 萨嘎县| 崇礼县| 黔南| 如皋市| 兴隆县| 昌吉市| 西城区| 敦煌市| 贵阳市| 延津县| 东莞市| 垦利县| 大渡口区| 油尖旺区| 灵丘县| 当阳市| 黑龙江省| 合阳县| 什邡市|