我想在我的PHP Web应用程序中使用nodeJS。我遵循了nodejs教程,当我在class myModule extends Module {
[...]
Driver.implicitClock.period = "10ns"
[...]
}
上运行时工作正常,但我希望像localhost:3000
这样的url
文件运行。所以我做的是遵循代码
chat_index.html
localhost/final/chat/chat_index.html
index.js 这是服务器端JS文件
<div id="newUser">
<form id="user">
<input id="username">
<input type="submit">
</form>
</div>
$(document).ready(function(){
var socket = io.connect('http://localhost:3000/final/chat/chat_index.html',
{resource:'https://cdn.socket.io/socket.io-1.2.0.js'});
$('#user').submit(function(){
socket.emit('new user', $('#username').val());
});
}); // document.ready ends here
</script>
以上var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/final/chat/chat_index.html', function(req, res){
res.sendFile(__dirname + '/chat_index.html');
});
io.on('connection', function(socket){
console.log('connected user');
socket.on('new user', function(user){
console.log(user);
});
});
http.listen(3000, function(){
console.log('listening to port');
});
页面加载显示其上的表单。当我通过此表单服务器提交一些数据时,js没有获取数据。
我的代码中缺少某些内容,或者我的代码中出错了。 提前致谢
答案 0 :(得分:1)
如果您希望在特定路线上运行套接字,可以使用 room / namespace
http://socket.io/docs/rooms-and-namespaces/#
示例(服务器)
var finalChat = io.of("/final/chat");
finalChat.on('connection', function(socket){
console.log('connected user');
socket.on('new user', function(user){
console.log(user);
});
});
如果您想要独立私人聊天室,您可能需要使用id
基本套接字空间
答案 1 :(得分:0)
您使用的是哪个版本的快递?我相信快递4应该是:
var http = require('http').createServer(app);
在客户端,您也可以尝试使用:
var socket = io.connect();
然后将资源作为脚本标记加载?