2013-03-05 19 views
5

hatası nedeniyle işlemi tamamlayamadım. Penceresi azure projesi için socket.io kullanıyorum. Hiçbir fikrim ne anlama sahipXMLHttpRequest: Ağ Hatası 0x2efd, 00002efd

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

- Garip socket.io sunucusu başlatıldığında ben sadece web rol dağıtırken ama bütün bulut proje dağıtma, socket.io sunucusu doesnt'başlamak ve ben bu hatayı alıyorum anlamına geliyor. Bu konuda bana yardımcı olan var mı? Bütün gün kafamı becermeye başladım.

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

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, "Bir veya daha fazla istek beklemekten dolayı gerekli işlem tamamlanamadı". –

+0

Bu benim socket.io bağlamımda ne anlama geliyor? – Bitsian

+0

Ve bunu nasıl düzeltebilirim? – Bitsian

cevap

3

i bulut projesi dağıtırken App.js komut i koymuştu iisnode işleyicisi olan yani çalıştıran olmadığını ortaya çıktı web.config öğesinde tüm bulut projesi dağıtıldığında işini yapmıyordu. Bu article içinden geçtikten sonra ben web klasörü klasörü klasörüne bazı dosyaları koymak zorunda olduğunu öğrendim - ChangeConfig.ps1, download.ps1, node.cmd, setup_web.cmd. Bu makaleyi incelediğinizde bu dosyaları oluşturabilirsiniz. Ve son olarak da 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> 

Ve işte bu kodu koymak zorunda !! Bir çekicilik gibi çalışır. Hala tarayıcınızda 127.0.0.1/App.js çalıştırarak socket.io sunucusunu başlatmanız gerekir. Hala App.js programını nasıl başlattığımı inceliyorum.