2013-08-14 4 views
0

나는 실시간 리더 보드로 멀티 플레이어 게임을 만들었습니다. 이 게임은 PHP (백 엔드) + 플렉스 (프런트 엔드)입니다. node.js 서버와의 실시간 통신을 위해 socket.io를 사용했습니다. 하지만 클라이언트 네트워크 구성에서 프록시 설정과 관련하여 많은 문제에 직면하고 있습니다. 대부분의 경우 응용 프로그램이 노드 (소켓) 서버와 통신하지 않습니다. 프록시 구성으로 인해 연결을 설정할 수 없습니다.실시간 통신 응용 프로그램을위한 Socket.io 대안

어떤 대안을 사용할 수 있습니까? 나는 대안을 많이 찾으려고 노력했다. 푸셔 (pusher)와 퍼브 너 (pubnub) 같은 서비스를 접하게되었지만 비용이 많이 들지 않았습니다. 아마존 SNS를 사용해 본 사람이 있습니까?

감사합니다.

+0

Node.js 서버의 역할에 대한 질문이 명확하지 않습니다. PHP 백엔드와 Node.js 서버 간의 통신에 문제가있는 경우 Redis의 pub/sub 기능을 사용할 수 있습니다. –

답변

1

프록시를 통해 연결할 수없는 이유는 socket.io가 웹 소켓을 사용하기 때문입니다. Socket.io and firewall Software (이 페이지에는 websocket 연결을 테스트하는 링크가 포함되어 있습니다)을 참조하십시오.

  1. 를 사용하여 보안 WebSocket을 :이 문제를 완화 할 수있는 방법을 제공하고 있습니다 (WSS는 : //)
    하지만이 또한 작동 할 것이라고 100 %에 대해 보증하지 않습니다.
  2. 사용 socket.io의 대체 메커니즘 중 하나 : 플래시, 아약스, iFrame을, JSONP, ... 자세한 내용은
    , Configuring Socket.io를 참조하십시오.
0

가 SocketCluster 있습니다 : https://github.com/topcloud/socketcluster 그것은 여러 CPU 코어에서 실행하고 오류 처리 (노동자 자동 부활)로 좋다. 확인 된 메모리 누수가 없습니다. 최신 버전의 Node.js를 사용해야합니다.

관련 문제