ब्राउज़र परीक्षण के लिए ओपी के अनुरोध के जवाब में, मैंने अपने मूल समाधान को HTTP और डब्ल्यूएस यातायात दोनों सर्वर पर प्रॉक्सी करने के लिए संशोधित किया जहां index.html
फ़ाइल परोसा जाता है। यह फ़ाइल तब वेबसॉकेट के माध्यम से ब्राउज़र को प्रॉक्सी सर्वर से जोड़ती है, जो प्रॉक्सी तब मुख्य सर्वर पर प्रॉक्सी करती है। मुख्य सर्वर से ब्राउज़र दस्तावेज़ पर एक साधारण संदेश मुद्रित किया जाता है।
ताकि कॉपी करने के लिए/कोई जरूरत नहीं है कुछ भी पेस्ट है, मैं पूर्ण शिक्षा के साथ इस रेपो बनाया: https://github.com/caasjj/httpproxy.git
यहाँ है मामले दूसरों में कोड यहाँ इस पर गौर करना चाहते हैं। पूरी बात चलाने के लिए, दो सर्वर फ़ाइलें और index.html
फ़ाइल बनाने node proxyreceiver.js
और node proxyserver.js
से सर्वर प्रारंभ और उसके बाद localhost:8014/index.html
पर जाएँ।
(proxyserver.js
):
var httpProxy = require('http-proxy');
var http = require('http');
var proxy = new httpProxy.createProxyServer({
target: {
host: 'localhost',
port: 9014
}
});
var proxyServer = http.createServer(function (req, res) {
proxy.web(req, res);
});
//
// Listen to the `upgrade` event and proxy the
// WebSocket requests as well.
//
proxyServer.on('upgrade', function (req, socket, head) {
proxy.ws(req, socket, head);
});
proxyServer.listen(8014);
(proxyreceiver.js
):
var app = require('http').createServer(handler)
var io = require('socket.io')(app);
var fs = require('fs');
app.listen(9014);
function handler (req, res) {
res.writeHead(200);
fs.readFile('index.html', function(err, data){
res.end(data);
})
}
io.on('connection', function (socket) {
socket.emit('data', { message: 'Hello World!' });
socket.on('resp', function(msg) {
console.log('Got message: ', msg);
});
});
(index.html
):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Web Socket Proxy Test</title>
<script src="https://cdn.socket.io/socket.io-1.3.5.js"></script>
<script>
var socket = io('http://localhost:8014');
var p = document.createElement("p")
socket.on('data', function (data) {
console.log('Got', data);
p.innerHTML = "Received:" + data.message;
document.body.appendChild(p);
});
</script>
</head>
<body>
<h1>Test ProxyServer</h1>
</body>
</html>
आपको बहुत बहुत धन्यवाद 1 +, मैं उन 3 फ़ाइलें बनाई और नोड एप्लिकेशन शुरू और फ्लॉप किसी भी त्रुटि मिलती है, मुद्दा है कि जब मैं ब्राउज़र में (जैसे पद 8014/9014 में) कुछ भी नहीं भी सांत्वना में होती हैं, किसी भी विचार क्या याद आ रही है यूआरएल डाल? मैं अतिरिक्त कदम (इस विषय :) करने के लिए नए im) की आवश्यकता है –
कृपया ध्यान दें कि हम नहीं कर रहे हैं ब्राउज़र में किसी भी प्रस्तुत करने योग्य एचटीएमएल वापस कर रहा है। कनेक्शन को सत्यापित करने के लिए आपके मूल प्रश्न को केवल टेस्ट कोड की आवश्यकता थी, और इस तरह मैंने जवाब लिखा था। क्या आप क्लाइंट को सर्वर से कनेक्ट करने में सक्षम थे, अनुरोध प्रॉक्सी किया गया है और फिर प्रतिक्रिया प्राप्त करें? यदि ऐसा है, तो यह सत्यापित करता है कि वेब सॉकेट कनेक्शन प्रॉक्सी सर्वर के माध्यम से काम कर रहा है। यदि आपको ब्राउज़र परीक्षण कोड की आवश्यकता है, तो मुझे आपको अतिरिक्त कोड प्रदान करने की आवश्यकता होगी। – caasjj
ब्राउज़र पर चलाने के लिए परीक्षण कोड के साथ अद्यतन किया गया। अगर आपको इसकी आवश्यकता है तो कृपया मुझे बताएं। – caasjj