3

So I did npm install express and npm install socket.io and I brought the node_modules folders to my server folder where I am using WAMP.

Using this as server.js:

var app = require('express').createServer();
var io = require('socket.io').listen(app);

io.sockets.on('connection', function (socket) {
console.log('Someone connected!');
socket.on('set nickname' , function (nickname) {
socket.nickname = nickname;
console.log(nickname + ' just connected!');
});

});

app.listen(8080);

and using this as client.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <title>Untitled 4</title>
<script src="http://cdn.socket.io/stable/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost:8080');
  socket.on('connect', function () {
    console.log('We are connected!');
var name = prompt('What is your name?');
this.emit('set namename', name, function (success) {
console.log('The server got the message!');

if (!success) {
console.log('Nickname is in use!');
}
});
});
</script>
</head>
<body>

</body>
</html>

the error I get is Uncaught TypeError: Object #<Object> has no method 'connect'

I know I used a different than socket.io.js becase I don't know where to get the /socket.io/socket.io.js. I tried doing node_modules/socket.io/lib/socket.io.js which is another one I found i my node_modules folder, but that isn't it.

I also started my server and I got socket.io started so I know that works.


Compile C++ code under windows for linux, as ready to run

Im new about compile code for linux. It's propably Debian 5.0. And I need compile my cpp code for it as ready to run, i mean the other person can easly run program like in Windows, by just clicking on it.

Anybody can help?

4

1 に答える 1

4

あなたが得たエラーは、socket.io スクリプト (index.html への) のソースが間違っているためです。したがって、これを変更します。

<script src="http://cdn.socket.io/stable/socket.io.js"></script>

これで:

<script src="http://localhost:3000/socket.io/socket.io.js"> </script>

はい、socket.io はルート サーバー ディレクトリへのフォルダーであり、サーバー側のソケットはポート 3000 でリッスンしています。

于 2012-05-14T19:16:05.483 に答える