私の質問をお読みください。小さなアドバイスでも感謝の気持ちでお受けいたします。
Google Chrome で次のエラーが表示されます。
GET http://localhost/socket.io/?EIO=3&transport=polling&t=1419089743449-2 404 (Not Found)
私のフォルダ設定は次のとおりです。
ローカルホスト
プロ
公衆
socket.io/socket.io.js
cssfile.css
jsfile.js
app.js
node_ モジュール
エラーは localhost/pro/public/socket.io/blah blah である必要があるため、クライアントによるハンドシェイクの要求は間違っているようです。
次のセットアップを使用しています。
web.config:
<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(ノード):
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 を動作させることができません。