【发布时间】:2020-01-04 10:05:54
【问题描述】:
我正在开发我的应用程序中的聊天部分,并使用节点 js 和 socket.io 编写了一个基本的套接字服务器。
我用这个网站测试了这个 API:https://www.websocket.org/echo.html
这里是一些源代码:
var server = require('http').Server(app)
var io = require('socket.io')(server);
app.use(bodyParser.urlencoded({
extended: true,
limit: '50mb',
}));
app.use(bodyParser.json());
app.use("/f",express.static(__dirname+"/files"));
app.use('/api', listenRoutes);
io.on('connection', function(socket){
console.log('a user connected');
socket.on('disconnect', function(){
console.log('user disconnected');
});
});
server.listen(port);
console.log('Bukalemun RESTful API server started on: ' + port);
我的 API 在 http://localhost:3000 上提供服务
但是,我无法将此 API 连接到我的颤振应用程序。我使用了各种类型的包,包括原始的 dart.io,但我从未成功。
这是连接我的 API 的函数:
import 'dart:io';
void setupSocketConnections() async {
Socket socket = await Socket.connect('10.0.2.2', 3000);
print('connected');
// listen to the received data event stream
socket.listen((List<int> event) {
print(utf8.decode(event));
});
// send hello
socket.add(utf8.encode('hello'));
// wait 5 seconds
await Future.delayed(Duration(seconds: 5));
// .. and close the socket
socket.close();
}
如果有任何建议,我将不胜感激。
【问题讨论】:
-
你的控制台有错误吗?
-
@Peter 不,没有,我只是没有从我的 api 获得“用户连接”日志
标签: node.js sockets flutter dart socket.io