在我的應用程序中,我需要連接兩個socket.io節點應用程序。使用socket.io-client我們可以這樣做。但是我不會不知道socket.io-client如何工作以及在哪裏包含它。如何在Node js中使用Socket.io客戶端連接兩個Socket.io節點應用程序
第一個節點應用
var express = require('express')
, http = require('http');
var app = express();
app.use(function (req, res) {
app.use(express.static(__dirname + '/public'));
});
var server = http.createServer(app);
var io = require('socket.io').listen(server);
server.listen(3000);
io.sockets.on('connection',function(socket){
socket.on('eventFiredInClient',function(data){
socket.emit('secondNodeAppln',data);// i need to get this event in my 2nd node application how can i do this by using socket.io-client
});
});
第二個節點應用
var express=require('express');
var http=require('http');
var app=express();
app.configure(function(){
app.use(express.static(__dirname + '/public'));
});
var server = http.createServer(app);
var serverAddress = '127.0.0.1';
var serverPort = 3000; //first node appln port
var clientio = require('socket.io-client');
var socket = clientio.connect(serverAddress , { port: serverPort });
socket.on('connect', function(){
console.log('connected');
});
socket.on('disconnect', function(){
console.log('disconnected');
});
var io = require('socket.io').listen(server);
server.listen(6509);
//here i need to get the 'secondNodeAppln' event raised in first node application.How can i do this.
請參閱[this](https://github.com/LearnBoost/socket.io-client#nodejs)。 – robertklep 2013-05-02 06:09:53
@robertklep如果我在下面添加如下代碼.im得到TypeError:object不是函數錯誤。 var socket = require('socket.io-client')('http:// localhost:3000'); – sachin 2013-05-02 06:35:42
你是對的,語法已經改變。看到我的答案。 – robertklep 2013-05-02 07:37:54