2013-03-05 171 views
5

Windows Azureプロジェクトにsocket.ioを使用しています。不思議なことに私はちょうどウェブ役割を展開するときsocket.ioサーバが起動しますが、私は全体のクラウドプロジェクトを展開するときに、socket.ioサーバが起動doesntのと、私はこのエラーを取得する -XMLHttpRequest:ネットワークエラー0x2efd、エラー00002efdのために操作を完了できませんでした

"SCRIPT7002: XMLHttpRequest: Network Error 0x2efd, Could not complete the operation due to error 00002efd." 

私はどのようなことが絶対見当がつかない手段。誰も私にこのことを教えてもらえますか?私は一日中頭を叩いています。

SocketClient.html

<script> 
var socket = io.connect('http://127.0.0.1:4001'); 
socket.on('news', function (data) { 
    console.log(data);  
}); 

$(function() { 
    $("#sendresponse").bind("click", function() { 
    socket.emit('server', 'Hello World'); 

    }); 
} 
); 
</script> 

App.js私は、クラウドプロジェクトを展開したときApp.jsスクリプトは、私が入れていたiisnodeハンドラすなわち、実行されていなかったことが判明し

var app = require('express')(), server = require('http').createServer(app), io = require('socket.io').listen(server); 

server.listen(4001); 

app.get('/', function (req, res) { 
res.sendfile(__dirname + '/index.html'); 
}); 

io.sockets.on('connection', function (socket) { 
socket.emit('news', { hello: 'first time connect' }); 
socket.on('server', function (data) { 
    console.log(data); 
    socket.emit('news',"hello"); 
}); 
}); 
+0

ERROR_INTERNET_REQUEST_PENDING "1つ以上の要求が保留中のため、要求された操作を完了できませんでした"。 –

+0

socket.ioのコンテキストではどういう意味ですか? – Bitsian

+0

どうすれば修正できますか? – Bitsian

答えて

3

私のweb.configでは、クラウドプロジェクト全体が展開されたときに仕事をしていませんでした。このarticleを通過した後、私はWebロールのbinフォルダ(ChangeConfig.ps1、download.ps1、node.cmd、setup_web.cmd)にいくつかのファイルを置かなければならないことがわかりました。その記事を読むときにこれらのファイルを生成することができます。そして最後に、あなたはあなたのServiceDefinition.csdef

<Startup>  
<Task commandLine="setup_web.cmd &gt; log.txt" executionContext="elevated"> 
    <Environment> 
     <Variable name="EMULATED"> 
     <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" /> 
     </Variable> 
     <Variable name="RUNTIMEID" value="node;iisnode" /> 
     <Variable name="RUNTIMEURL" value="" /> 
    </Environment> 
    </Task> 
</Startup> 

出来上がりにこのコードを配置する必要があります!それは魅力のように働く。ブラウザで127.0.0.1/App.jsを実行しても、socket.ioサーバーを起動する必要があります。私はまだApp.jsをプログラム的に起動する方法を見ています。

関連する問題