8

웹 클라이언트와 서버간에 실시간 메시지 전달을 관리하기 위해 hookbox를 사용하여 빌드 된 몇 가지 프로젝트가 있습니다. Hookbox는 훌륭했습니다. 이것은 전송 레이어를 완전히 추상화하여 우아한 보안 시스템으로 여러 채널에서 간단한 게시/구독 인터페이스를 노출 시켰습니다.실시간 웹 라이브러리 - hookbox를 socket.io로 바꾸거나 뭐라 구요?

불행히도 hookbox 프로젝트는 원래 관리자가 소유권을 양도하려는 노력조차하지 않으므로 급속히 혼란에 빠졌습니다. (Grrr!) 그래서 더 이상 실행 가능한 플랫폼으로 생각하기가 어렵습니다.

웹 응용 프로그램과 실시간 통신을 제공하기위한 좋은 플랫폼은 무엇입니까? 요구 사항 :

  • HTML5 웹 소켓 또는 COMET을 사용할 수있는 것처럼 보이지 않게 크로스 브라우저에서 작동합니다. 전송 선택은 응용 프로그램 계층에서 보이지 않아야합니다. 나는 고대 브라우저 (IE6) 자바 스크립트와 서버 측 시스템 모두에서
  • 클라이언트 액세스에 대해 걱정하지 않는다 (즉, PHP/파이썬/루비) -이
  • 임의의 페이로드와 공개/등록 은유를 제공 중요하다
  • 클라이언트가

내가 그 소켓을 들었습니다 (좋은 가지고) 다른 클라이언트가 모든 웹 응용 프로그램에 콜백을 통해 채널에, 즉 존재

  • 세분화 된 액세스 제어를 연결되어있는 것을 볼 수 있습니다. io는이 중 일부를 수행 할 수 있지만 스택의 하위 레이어에 있다는 생각을 갖습니다. 비 자바 스크립트 라이브러리에 연결할 수 있습니까? 정정하니?

  • 답변

    2

    아직 시도하지는 않았지만 노드 노크 아웃 2011 항목에 대해서는 Pusher을 조사하기 시작했습니다. 자바 스크립트뿐만 아니라, 다음과 같은 비 JS 고객 지원

    • 오브젝티브 C를
    • 액션
    • .NET & 실버
    • 루비
    • 아두 이노

    경우, 메시징 타사를 통해 가능할 수도 있습니다. 샌드 박스 요금제를 사용하여 무료로 서비스를 이용할 수 있습니다 (20 개 접속 & 최대 100K 메시지/일) 및 귀하의 필요를 충족하는지보십시오. (나는 "존재"요구 사항에 대해서는 조금 불확실하지만, 문서에서 다뤄질 수도있다.)

    +0

    오픈 소스는 PHP & Python 클라이언트처럼 좋을 것입니다. 그러나 그렇지 않으면 이것이 내가 찾고있는 것 같습니다. 감사! – Leopd

    3

    지난 8 개월 동안 NodeJSSocket.IO에 대해 아주 좋은 경험을했습니다. 서버 측 구성 요소는 저에게 매우 안정적이었습니다. 매우 높은 메시지 볼륨으로 실행되도록 두었고 상주 메모리는 20MB를 넘지 않았습니다. 지금까지는 서버를 종료하지 않고 약 4 주 동안 서버를 종료 할 수 있었지만 그 이유는 업데이트가 필요했기 때문이었습니다. 서버 측 코드.

    HTML5 웹 소켓 또는 COMET을 사용할 수있는 것처럼 보이지 않게 크로스 브라우저에서 작동합니다. 전송 선택은 응용 프로그램 계층에서 보이지 않아야합니다. 나는 고대 브라우저 (IE6)

    임의의 페이로드

    Socket.IO는 소프트웨어의 환상적인 조각과 공개/등록 은유를 제공합니다 걱정하지 않는다. 그것은 활발히 개발 중이며 'on'(구독) 및 'emit'(게시) EventEmitter (NodeJS) 의미를 사용하여 내장 된 간단한 pub/sub 스타일 추상화를 사용합니다. 또한 사용중인 전송과 관련하여 클라이언트 측에서 매우 투명합니다. 주로 웹 소켓 지원을 위해 사용했지만 Flash 기반 소켓, xhr 폴링 및 jsonp 폴링으로 폴백 할 수 있습니다. 자바 스크립트와 서버 측 시스템 모두에서

    클라이언트 액세스 (즉, PHP/파이썬/루비) -이

    NodeJS가 V8 엔진에서 실행되는 자바 스크립트입니다 중요하다. 데이터베이스와 메시지 대기열과 같은 외부 구성 요소와의 인터페이스뿐 아니라 멋진 추상화를 제공하는 톤이 3rd party modules입니다. PHP/python/ruby를 사용하는 시스템에서는 다른 서버를 사용하는 것처럼 작동합니다.통신 방법 (기본 TCP/IP 또는 HTTP POST 또는 GET 또는 심지어 파일 시스템을 통해)을 선택하면 NodeJS는 누가 데이터를 제공하는지 실제로는 신경 쓰지 않습니다. 개인적으로, 저는 C# 클라이언트를 구현했습니다. '술집/하위에 내장 된하지만

    는, 클라이언트가 다른 클라이언트가 채널에 연결 그것은 어떤'존재 '논리를 내장하고 있지 않습니다

    즉 존재하는 것을 볼 수 있습니다 '논리가 Socket.IO에 이미 있습니다. 새로운 클라이언트가 기존 존재 데이터를 검색 할 수 있도록 서버에 상태를 저장하면됩니다. 상태를 유지하는 서버에 내 자신의 기본 pub/sub를 구현했으며 NodeJS 서버 코드와 기본 Socket.IO 스텁을 포함하여 모두 50 줄의 JavaScript (공백 포함) 만 사용했습니다. 모든 웹 응용 프로그램에 콜백을 통해

    세분화 된 액세스 제어는 어떤 웹 응용 프로그램에 콜백을 통해 세분화 된 액세스 제어 '는 무엇을 의미하는

    확실하지 않음 (좋은이 가지고) (좋은이가합니다) '. 그들이 가지고있는 pub/sub event/observer metaphor는 콜백을 사용하므로 특정 이벤트를 특정 작업에 연결합니다.

    인증을 받으시겠습니까?

    Google 시스템에 대한 인증을 수행 할 필요가 없으므로 직접 언급 할 수 없습니다. 그러나 NodeJS 모듈을 탐색하면 LDAP 및 OAuth를 비롯하여 사용할 수있는 인증 모듈이 많다는 것을 알게 될 것이며 "OpenId, Google, OAuth, Twitter, LinkedIn, Yahoo, Readability, Dropbox, Justin"이라고 주장하는 one module은 말할 것도 없습니다. "

    +0

    확실히, REST 인터페이스를 사용하여 pub/sub 시스템에 메시지를 게시하는 데 모든 언어를 사용하는 것이 매우 쉽습니다. 어렵고 중요한 부분은 자바 스크립트가 아닌 클라이언트에게 실시간 메시지를 전달하는 것입니다. 실시간 콜백을 다른 언어로 가져 오려면 간단한 클라이언트 라이브러리가 필요합니다. – Leopd

    0

    많은 것들을위한 많은 라이브러리를 가지고있는 node.js을 사용하여 회신한다. 실시간 메시징을위한 하나의 라이브러리는 now.js입니다. 나는 이것에 많은 경험이 없지만 그것을 시도하고 나는 그것이 잘 작동하고 당신이 필요로하는 모든 것을 가지고 있다고 말할 것이다.

    +0

    javascript가 아닌 클라이언트를 지원하거나 모든 종류의 액세스 제어가있는 것처럼 보이지 않습니다. – Leopd

    +0

    액세스 제어는 node.js의 다른 라이브러리를 사용하는 것이 가장 적합 할 수 있습니다. 질문을 해석 할 때 브라우저와 서버 측 프로그램에서 액세스해야합니다. node.js에 서버를 작성하면 둘 다 갖게됩니다. 내가 너를 오해 했니? – Godisemo

    +0

    예, 당신은 오해했습니다. 솔루션을 찾고 있는데 API가 아니라 솔루션을 만들 수 있습니다. – Leopd