【发布时间】:2017-10-28 18:17:06
【问题描述】:
我正在使用 cordova 和 socket.io 连接到我的 nodejs 服务器
这是我的服务器代码
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var process = require('process');
io.on('connection',function(socket){
console.log('a user connected');
socket.emit("message",{message:"connected"});
socket.on('disconnect', function(){
console.log('user disconnected');
});
});
http.listen(port,function(){
console.log("Listening to port ",port);
});
app.get('/', function(req, res){
res.send('<h1>Hello world</h1>');
});
这是我的客户代码
app.initialize();
document.addEventListener('deviceready', function() {
console.log("Device Ready!"); //displayed
var socket = io('http://127.0.0.1:3000');
//tried my LAN IP and still failed
console.log('socket created'); //displayed
console.log(typeof socket); // displays "object"
socket.on('connect',function(){
console.log("Connected!");
//never displays
});
socket.on("message",function(data){
console.log(data);
});
});
我尝试使用托管在我的 xampp/htdocs 上的此代码连接到我的 nodejs 服务器,并成功连接!
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.1/socket.io.slim.js"></script>
</head>
<body>
<script type="text/javascript">
var socket = io('http://127.0.0.1:3000');
socket.on('connect',function(){
console.log("connected!");
});
socket.on('message',function(data){
console.log(data);
});
</script>
</body>
</html>
我只是不明白为什么我的 cordova 应用程序不会触发连接,也许它没有发出任何错误。
非常感谢任何帮助。
谢谢!
【问题讨论】:
标签: ios node.js cordova socket.io