2014-12-29 2 views
1

현재 Meteor에서 웹 애플리케이션을 작업 중입니다. 서버, 웹 클라이언트 (브라우저) 및 C 응용 프로그램 인 다른 클라이언트가 있습니다. WebSocket을 사용하여 C 앱과 Server를 연결했습니다. 다 잘 작동하고있어 서버에 데이터를 보내고 클라이언트에서 RPC (원격 프로 시저 호출)를 호출 할 수 있습니다.컬렉션없이 서버에서 클라이언트로 데이터 보내기 (웹 소켓 사용)

실제로 서버에서 C 응용 프로그램으로 RPC를 호출해야합니다. 내 C 응용 프로그램과 대화 할 수있는 컬렉션을 사용할 수 있지만 매우 적합하지 않다는 것을 알고 있습니다 ...

C 클라이언트에 내 자신의 메시지를 보내려면 현재 Websocket 연결을 사용하는 방법이 있는지 궁금합니다. .

+0

C 애플리케이션에서 DDP 서버를 구현하고 양방향으로 두 개의 DDP 연결을 가지고 있다고 생각하십니까? 그래도 과장 될 수 있습니다. –

+0

이것은 유용하지만 매우 무겁습니다. 게다가 C에 Meteor가 구현되어 있지 않기 때문에 작은 이익을위한 많은 작업을 의미합니다. –

답변

3

DDP RPC는 클라이언트가 서버에서 임의의 메서드를 호출 할 수있는 방법이지만 서버에서 클라이언트까지의 RPC 기능은 없습니다.

유성 간행물은 원하는대로해야합니다. low-level added/changed/removed interface을 사용하여 어떤 이유로 든 가입 된 클라이언트에 임의의 데이터를 보낼 수 있습니다. 아마도 added 등의 구현 만하면됩니다. 당신이 이것을한다고 가정 해 봅시다.

클라이언트는 이러한 데이터로 원하는 모든 작업을 수행 할 수 있습니다. sub으로 전화하면 added 메시지가 수신되기 시작합니다.

This code 괜찮은 출발점이 될 수 있습니다. 다시 한번 말하지만, 단지 added을 보내고 찾으면 서버와 클라이언트에 한 비트 만 구현하면됩니다.

+0

많은 옵션이없는 것처럼 보입니다 ... 그렇게 할 수 있습니다. 또는 사용자 지정 메시지를 보내려면 새로운 Websocket을 병렬로 만들어야합니다. (그리고 원하는 것은 아닙니다.) 도움을 주셔서 감사합니다 :) –

+0

실제로 DDP 연결을 사용할 수 있으며 그냥 "쓰기", 즉 DDP 메시지 대신 자신의 메시지를 보냅니다. 튜토리얼에서 sockjs 객체의 ".write"와 같은 것을 본 것을 기억합니다. 그러나 찾을 수 없습니다. (나는 그것을 지금 찾고있다). – kroe

관련 문제