jquery - Nodejs & 套接字 io : warn - error raised: Error: listen EADDRINUSE

标签 jquery node.js sockets websocket

我正在尝试使用 socket.io 的 Node.js

现在这是我的场景,我是 ubuntu 12.04 用户,我在桌面上有文件夹 pp

我在里面放了服务器文件,即 app.js

这里是内容

var fs = require('fs')
    , http = require('http')
    , socketio = require('socket.io');

var server = http.createServer(function(req, res) {
    res.writeHead(200, { 'Content-type': 'text/html'});
    res.end(fs.readFileSync(__dirname + '/index.html'));
}).listen(8080, function() {
    console.log('Listening at: http://localhost:8080');
});

socketio.listen(server).on('connection', function (socket) {
    socket.on('message', function (msg) {
        console.log('Message Received: ', msg);
        socket.broadcast.emit('message', msg);
    });
});

现在在同一个文件夹中我有另一个文件 index.html 像

<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script src="/socket.io/socket.io.js"></script>
    <script>
        $(function(){
            var iosocket = io.connect();

            iosocket.on('connect', function () {
                $('#incomingChatMessages').append($('<li>Connected</li>'));

                iosocket.on('message', function(message) {
                    $('#incomingChatMessages').append($('<li></li>').text(message));
                });
                iosocket.on('disconnect', function() {
                    $('#incomingChatMessages').append('<li>Disconnected</li>');
                });
            });

            $('#outgoingChatMessage').keypress(function(event) {
                if(event.which == 13) {
                    event.preventDefault();
                    iosocket.send($('#outgoingChatMessage').val());
                    $('#incomingChatMessages').append($('<li></li>').text($('#outgoingChatMessage').val()));
                    $('#outgoingChatMessage').val('');
                }
            });
        });
    </script>
</head>
<body>
Incoming Chat: <ul id="incomingChatMessages"></ul>


<input type="text" id="outgoingChatMessage">
</body>

当我尝试使用 Node 运行 app.js 时

 node app.js 

我收到了错误

 warn  - error raised: Error: listen EADDRINUSE

我浏览了一些文档,发现端口很忙,所以重新启动了系统,但我仍然收到同样的错误。

请告诉我我做错了什么。

最佳答案

尝试另一个端口。 8080通常被tomcat使用,例如

使用 netstat -a -v 可以知道当前使用的是哪个端口。

关于jquery - Nodejs & 套接字 io : warn - error raised: Error: listen EADDRINUSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14647282/

相关文章:

php - 两台服务器访问同一个数据库

c - 在 Linux 中,如果我尽可能快地调用 send() 为什么会丢失 UDP 数据包?

java - 是否可以使用 Unix 套接字在 C 应用程序和 Java 应用程序之间创建通信?

javascript - 为什么它只工作一次?

javascript - 隐藏滚动条以保持它们的工作(特定情况)

javascript - 第一次点击时 jQuery 不起作用

node.js - 发送后无法设置 header 。在 Express js 中

node.js - HAProxy + Node.js & Express 不转发 IP 地址

android - 21000 毫秒的套接字超时从何而来?

php - 用于 Web 开发的 vim 的最佳配置是什么?