2011-07-27 31 views

Trả lời

8

thể socket.io client kết nối với hai cổng khác nhau trên cùng một máy chủ ?

Tôi giả sử cả hai máy đều dùng chung một miền. Tôi tin rằng nó có thể sử dụng bỏ phiếu dài (websockets, flashsockets, vv cũng làm việc), thậm chí đi cùng cookie. Nhưng tôi vẫn cần phải kiểm tra điều này trên Internet Explorer vì trình duyệt đó không bao giờ làm những gì tôi muốn ...

Khách hàng socket.io có thể kết nối với hai máy chủ khác nhau không?

Câu hỏi lớn đặt ra là nếu cả hai máy đó nằm trên các miền khác nhau. Nếu trên cùng một tên miền, nó sẽ hoạt động tốt ngay cả khi chuyển qua (các) cookie. Nếu họ đang ở trên các lĩnh vực khác nhau thì trên một số trình duyệt chúng tôi rơi trở lại để vận chuyển json-p (giao thông tồi tệ nhất tưởng tượng), nhưng nó sẽ làm việc. Thật không may, sau đó cookie không được chuyển đi, bởi vì chính sách xuất xứ giống nhau. Ngay bây giờ tôi đang đùa giỡn để tránh giới hạn cookie này (khó khăn) ...

20

chắc:

var io1 = require('socket.io').listen(8001); 

io1.sockets.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 
}); 


var io2 = require('socket.io').listen(8002); 

io2.sockets.on('connection', function (socket) { 
    socket.emit('flash', { hello: 'world' }); 
}); 

Có lẽ đây là một chi thú vị: (từ github)

// connect at the same host/port as your website 
var socket = io.connect(); 

// different port or host 
var socket = io.connect('http://url.com'); 

// secure 
var socket = io.connect('https://localhost'); 
Các vấn đề liên quan