我正在为Android创建离子应用程序,它将通过套接字与简单的Node.js服务器进行通信。为此我使用socket.io。我也在客户端使用Angular.js。文件未找到socket.io ionic
我一直在努力让连接工作大约一个星期。我不想在这里添加,我绝不是专家,甚至不习惯JavaScript。我一直在清除问题和错误,但是这一个错误让我崩溃了。
无法加载资源:服务器与404(未找到)状态 http://EXTERNAL_IP:3000/socket.io/?EIO=3&transport=polling&t=1431009277925-0
对我来说,这似乎是客户端试图从服务器获取socket.io文件回应,但该文件在服务器上不存在。我有socket.io.js在客户端的文件结构本地文件和HTML链接它像这样:
<script src="js/vendor/socket-io.js"></script>
我在控制台收到此错误都当我经由实时重载服务器运行,当应用程序部署到我的银河S5运行android 5.0
我已经尝试了很多来自本网站和其他人的建议,但无济于事。也许有我的硬件设置,不想玩的很好?
我一直在关注这个教程: http://www.htmlxprs.com/post/6/creating-a-realtime-image-sharing-app-with-ionic-and-socketio-tutorial
但是,代码拒绝正常工作。
server.js
var server = require('http').createServer();
var io = require('socket.io')(server);
io.sockets.on('connection', function(socket){
console.log("Socket connected");
socket.on('disconnect', function(){
console.log("Socket disconnected");
});
socket.on('echo', function(msg){
console.log("Recieved msg: " + msg);
socket.emit('echo', msg);
})
});
server.listen(3000);
services.js
angular.module('MyApp.services', []).factory('socketio', function($rootScope) {
var socket = io.connect("http://EXTERNAL_IP:3000");
return {
on: function (eventName, callback) {
socket.on(eventName, function() {
var args = arguments;
$rootScope.$apply(function() {
callback.apply(socket, args);
});
});
},
emit: function (eventName, data, callback) {
socket.emit(eventName, data, function() {
var args = arguments;
$rootScope.$apply(function() {
if (callback) {
callback.apply(socket, args);
}
});
})
}
};
});
controllers.js
angular.module("MyApp.controllers", [])
.controller("SocketCtrl", ["$scope", 'socketio', function($scope, socketio){
console.log("attempting to connect");
socketio.on("connect", function(){
console.log("Connected");
});
socketio.on("echo", function(msg){
console.log("Received msg: " + msg);
});
}]);
如果任何人有任何指针,我会非常感激。
有同样的问题,兄弟..看看这个 [你需要使用白名单科尔多瓦插件] [ 1] [1]:http:// stackoverflow。com/questions/30132885/ionic-app-can-connect-cors-enabled-server-with-http – Anmol