在MAMP localhost上配置socket.io

时间:2015-06-16 19:04:59

标签: apache sockets socket.io mamp

我正在尝试为构建的webapp配置socket.io。

我已经使用npm成功安装了依赖项。

这是在服务器端执行的index.js。 (我的所有公共文件夹,包括index.html,都位于httpdocs文件夹中)

var express = require("express");
var app = express();
var port = 8080;

app.get("/", function(req, res){
    res.send("Hello world!");
});

app.use(express.static(__dirname + '/httpdocs'));
var io = require('socket.io').listen(app.listen(port));

当我去http://localhost:8080时,我可以看到“你好世界!”#39;在浏览器中,当我转到http://localhost:8080/socket.io/socket.io.js它向我显示了socket.io.js文件,因此似乎工作正常。

在客户端,我似乎无法在index.html中使用以下行导入该socket.io.js

<script src="/socket.io/socket.io.js"></script>

它只是重定向到404页面并丢弃语法错误。

我认为是因为我的MAMP在客户端使用端口80作为Apache服务器。该项目作为虚拟主机运行。

<VirtualHost *:80>
    ServerAdmin *my email*
    DocumentRoot "*document root*/httpdocs/"
    ServerName project.local
    ServerAlias *.project.local
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

将侦听器端口从8080更改为80并不能解决该问题。我想我必须使用两个不同的端口进行操作。

1 个答案:

答案 0 :(得分:0)

我也试图这样做,据我所知,你必须使用官方的Apache客户端(我无法找到Mac,我也使用它)或使用一个VirtualHost指令,但据我所知,你不能在MAMP WebStart页面上这样做。尝试使用其他服务器客户端吗?

(注意:如果我找到Mac官方Apache客户端,我将编辑此问题以在底部添加链接。)