gpt4 book ai didi

node.js - 无法让 IISNode、socket.io 和express 一起工作

转载 作者:太空宇宙 更新时间:2023-11-03 22:00:25 25 4
gpt4 key购买 nike

请阅读我的问题,即使是一个小小的建议,我们也会感激不尽。

我在 Google Chrome 中收到以下错误:

 GET http://localhost/socket.io/?EIO=3&transport=polling&t=1419089743449-2 404 (Not Found)

我的文件夹设置如下:

localhost

pro

public

socket.io/socket.io.js

cssfile.css

jsfile.js

app.js

Node _模块

在我看来,客户端提出的握手请求是错误的,因为错误应该是 localhost/pro/public/socket.io/blah blah 。

我正在使用以下设置:

网络配置:

<handlers>
<add name="iisnode" path="app.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="DynamicContent">
<match url="/pro/" negate='True'/>
<!--<conditions>
<add input="pro" matchType="IsFile" negate="True"/>
</conditions>-->
<action type="Rewrite" url="app.js"/>
</rule>
<rule name="LogFile" patternSyntax="ECMAScript">
<match url="socket.io"/>
<action type="Rewrite" url="app.js"/>
</rule>
</rules>
</rewrite>

客户端js:

 var socket = io.connect('http: //localhost', {resource: 'pro/public/socket.io' }); 

服务器端js( Node ):

 var http = require('http');

var express = require('express');
var app = express();
var port = process.env.PORT || 3002;

var server = http.createServer(app).listen(port);

io = require('socket.io').listen(server, { resource : '/pro/public/socket.io' });

我按预期得到了 html,并且静态文件也得到了服务;我就是无法让 socket.io 工作。

最佳答案

解决方案:

改变:

io = require('socket.io').listen(server, { resource : '/pro/public/socket.io' });

io = require('socket.io').listen(server, { path : '/pro/public/socket.io' });

这对我有用,我希望它也对你有用! :)

关于node.js - 无法让 IISNode、socket.io 和express 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27584092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com