2013-03-08 1 views
6

Ich arbeite an der node.js Chat-Anwendung, ich habe die node.js auf IIS in Windows gehostet. meine Absicht ist es, die node.js in Asp.net mvc, wie von Jon Galloway für die Durchführung von Chat (Text, Audio, Video) in asp.net Web-Anwendung.Uncaught TypeError: Die Methode 'onClose' von null kann nicht aufgerufen werden

meine Installationsdetails:
iisnode.js - iisnode-full-iis7-v0.2.3-x86
node.js - Knoten-v0.8.19-x86
Express.js Version - 3.1.0
socket.io Version - 0.9.13
auf Windows 7 32-Bit-System mit IIS 8.0 express

ich habe erfolgreich war Gastgeber der node.js auf IIS, und führen Sie die Proben

Aber wenn ich coading beginnen socket.io i stecken geblieben ..

, wenn ich mit Client-Browser mit dem Server starten Verbindung, bekam ich einen Fehler bei Client-Browser
Uncaught Typeerror sagen: Die Methode kann nicht nennen 'onClose' von null socket.io. js: 1771

in meinem Server App iam Socket.io Konfiguration als

io.configure(function() { 
    io.set('transports', [  
      'xhr-polling' 
     , 'jsonp-polling' 
     ]); 
     io.set("polling duration", 10); 
     if (process.env.IISNODE_VERSION) { 
      io.set('resource', 'node/socket.io'); 
     } 
    }); 

Ist das Problem im Zusammenhang mit Versionen iam mit (Express, und Socket.io node.js) oder in meinem coading mit , irgendeine Idee über das Problem, bitte hilf mir.

danke.

Antwort

7

Ich denke, es ist, weil Sie den Ressourcenpfad in der Client-socket.io-Konfiguration nicht festgelegt haben.

socket = io.connect('http://myurl/node/socket.io', { resource : 'node/socket.io' }) 
+0

genau richtig. Die gesamte Dokumentation ist auf Root-Level-Server ausgerichtet. Sobald Sie die Dinge bewegen, ist die Dokumentation nicht offensichtlich. Unter https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO heißt es in den Hinweisen zur Konfiguration von "resource": "Dies sollte zwischen Client und Server gleich sein" und weist auf die Konfiguration des Clients hin Sie verwenden nicht das führende '/' und wenn Sie den Server konfigurieren, tun Sie. – natbro

+0

Für alle anderen, die hier von Google kommen, schauen Sie sich auch die folgende Frage an, wie Sie den ersten Parameter von io.connect() korrekt einstellen können: http://Stackoverflow.com/a/9373699/753129 – alnafie

+2

Was ist diese 'Ressource'? soll auf Karte? – chovy