2013-07-02 5 views
0

nodejs와 장치 페어링 프로그램을 구현하려고합니다. 서버는 다른 사람에 의해 구현 및 소켓 IO 사용합니다 :대체 소켓 IO 클라이언트

var http = require('http'), 
io = require('socket.io'); 

하지만 웹 소켓 (HTML5)를 지원하지 않습니다 페어링하고있는 장치 중 하나를. 소켓 io를 사용하지 않고 소켓 io 클라이언트를 만들 수 있습니까? 다른 대안이 있습니까?

미리 감사드립니다.

답변

0

많은 시도와 후, 내가 사용하고있는 브라우저가 Socket.IO.js의 버퍼링 동작을 지원할 수 없다는 것을 발견했습니다. 첫 번째 방출은 버퍼링없이 수행되므로 첫 번째 페어링 요청을 올바르게 방출 할 수 있습니다. 그래서 Socket.prototype.setBuffer (true)를 Socket.prototype.setBuffer (false)로 변경했습니다. 이것은 깨끗한 해결책은 아니지만 제 경우에는 작동합니다.

1

socket.io는 플래시 소켓 및 XHR 긴 폴링과 같은 다양한 전송을 지원합니다. 따라서 다른 클라이언트를 사용할 필요가 없습니다. 웹 소켓을 지원하지 않아도 사용할 수 있습니다.

다른 말로하면 클라이언트 라이브러리가 있습니다. 파이썬에 대해서는 브라우저에서 실행되는 것이 없다고 생각합니다. 이전에 말했듯이, 파이썬을 필요가 없습니다.

+0

on the wiki 답 주셔서 대단히 감사합니다 여기에 모든 옵션을 볼 수 있습니다

io.configure("production", function() { io.enable("browser client minification"); io.enable("browser client etag"); io.enable("browser client gzip"); io.set("transports", ['websocket', 'jsonp-polling']); io.set("log level", 1); }); io.configure("development", function() { io.set("transports", ['websocket', 'jsonp-polling']); }); 

을 사용하고자하는 폴백 (fallback)의 유형을 구성 할 수 있습니다. 서버 로그를 확인할 때 브라우저에서 jsonp 폴링 전송 만 사용할 수있는 것으로 나타났습니다. 처음에는 "emit"모든 것이 잘 작동하지만 다른 메시지를 내 보내면 서버 측 디버그 로그에는 아무 것도 없습니다. 문제가 무엇인지, 어떤 생각을 갖고 있습니까? – miette

0

당신은 당신이