我试图为socket.io监听端口8080但是我收到错误:
http://localhost:8080/socket.io/?EIO=3&transport=polling&t=Lai1FQh net::ERR_CONNECTION_REFUSED
我正在使用来自digitalocean的ubuntu虚拟机,首先当我登录时,我收到消息:
The "ufw" firewall is enabled. All ports except for 22, 80, and 443 are BLOCKED
。
我是初学者,但并不意味着端口8080
被阻止了。
我该如何解决这个问题以及我需要做什么
这是我的服务器代码:
var socket = require( 'socket.io' );
var express = require( 'express' );
var http = require( 'http' );
var app = express();
var server = http.createServer( app );
var io = socket.listen( server );
server.listen(8080, function(){
console.log("Listening");
})
在我的网站中,我只是连接到这个端口:
<script src="node_modules/socket.io-client/dist/socket.io.js"></script>
<script>
var socket = io.connect( 'http://localhost:8080' );
...
<script>
答案 0 :(得分:1)
您可能正在运行程序的另一个实例,或者使用该端口的其他程序。运行:
ps aux
在你的shell中查看正在运行的进程并杀死那些不应该运行的进程。您还可以运行lsof
或netstat
来查看正在侦听哪个端口的内容。请参阅这些命令的手册。
如果您可以打开8081或类似的东西而不是8080,那么这意味着某些东西已经在端口8080上侦听。您可以通过curl
,wget
尝试连接到该端口来验证它,netcat
或使用nmap
。有关详细信息,请参阅其手册页。
答案 1 :(得分:1)