मैं इस काम को पाने के लिए बहुत सी चीजों की कोशिश कर रहा था। अधिकांश काम मैं इस काम को पाने के लिए socket.io पर निर्भर था, लेकिन यह सिर्फ टीसीपी के साथ काम नहीं कर रहा था।
हालांकि, नेट सॉकेट उद्देश्य को पूरा करता है।
यहां इसका कामकाजी उदाहरण है।
टीसीपी सर्वर
var net = require('net');
var HOST = 'localhost';
var PORT = 4040;
var server = net.createServer();
server.listen(PORT, HOST);
server.on('connection', function(sock) {
console.log('CONNECTED: ' + sock.remoteAddress +':'+ sock.remotePort);
sock.write("TCP sending message : 1");
console.log('Server listening on ' + server.address().address +':'+
server.address().port);
}).listen(PORT, HOST);
HTTP सर्वर
var http = require('http').createServer(httpHandler),
fs = require("fs"),
wsock = require('socket.io').listen(http),
tcpsock = require('net');
var http_port = 8888;
var tcp_HOST = 'localhost';
var tcp_PORT = 4040;
/**
* http server
*/
function httpHandler (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
http.listen(http_port);
console.info("HTTP server listening on " + http_port);
wsock.sockets.on('connection', function (socket) {
var tcpClient = new tcpsock.Socket();
tcpClient.setEncoding("ascii");
tcpClient.setKeepAlive(true);
tcpClient.connect(tcp_PORT, tcp_HOST, function() {
console.info('CONNECTED TO : ' + tcp_HOST + ':' + tcp_PORT);
tcpClient.on('data', function(data) {
console.log('DATA: ' + data);
socket.emit("httpServer", data);
});
tcpClient.on('end', function(data) {
console.log('END DATA : ' + data);
});
});
socket.on('tcp-manager', function(message) {
console.log('"tcp" : ' + message);
return;
});
socket.emit("httpServer", "Initial Data");
});
ब्राउज़र क्लाइंट
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('httpServer', function (data) {
console.log(data);
document.write(data + "\r\n");
socket.emit('tcp', "For TCP");
});
</script>
इस तरह, फिर node.js. में HTTP सर्वर और टीसीपी सर्वर के बीच खोला गया सॉकेट है
आप socket.io – nguyenkha
@nguyenkha का उपयोग कर HTTP सर्वर से कनेक्ट करने के लिए socket.io-client का उपयोग कर सकते हैं: क्या आप कृपया मुझे कोड नमूना के साथ मदद कर सकते हैं? – Ravish
socket.io उदाहरण से कोड लें http://socket.io/#how-to-use क्लाइंट-साइड के लिए, केवल जावास्क्रिप्ट भाग और 'var io = आवश्यकता (' socket.io-client '); ' – nguyenkha