我正在尝试在我的离子应用程序和我已构建的套接字服务器之间创建套接字连接。
使用ionic run ios --target="iPhone-6-Plus"
使用ionic serve
在浏览器中投放应用时套接字连接有效。
我的代码
我的app客户端中有一个套接字服务连接到我的套接字服务器:
.factory('Sockets', function($http, socketFactory){
var myIoSocket = io.connect('localhost:5000');
var mySocket = socketFactory({
ioSocket: myIoSocket
});
return mySocket;
})
以下是我的客户端套接字请求:
angular.module('crewapp.chat', [])
.controller('ChatController', function($scope, Auth, Sockets, $localStorage){
$scope.test = 'Chats';
Sockets.emit('join room', $localStorage.groupname)
});
这是我的套接字服务器(简称)
io.sockets.on('connection', function(socket) {
socket.on('join room', function(room) {
socket.room = room;
socket.join(room);
console.log(room);
});
我尝试过的事情
socket.on('connection')
回调函数体中放置console.log来概括套接字服务器应该记录的位置。 答案 0 :(得分:0)
我弄清楚问题是什么。在ionic / cordova中连接到套接字服务器时,必须在服务器URL前加http://
。应用程序仍然可以在浏览器中运行的原因是因为浏览器会自动添加前缀。
.factory('Sockets', function($http, socketFactory){
var myIoSocket = io.connect('http://localhost:5000');
var mySocket = socketFactory({
ioSocket: myIoSocket
});
return mySocket;
})