2012-04-04 2 views
0

Socket.IO Websocket을 사용하여 라이브 업데이트로 캘린더를 만들려고합니다. 나는 Socket.IO 서버를 8181 번 포트에서 실행하도록 만들었지 만, calendar.php는 80 번 포트에서 아파치를 통해 관리됩니다.라이브 업데이트 캘린더 용 Apache2와의 Socket.IO 통합

내가 원하는 것은 내 calendar.php를 아파치와 함께 사용하는 것입니다. 시간 8181 포트에 내 Socket.IO 서버에 연결 (또는 아파치와 포트 80에 바인딩하지만 꽤 복잡한 것, 다시 프록시 시도했지만 작동하지 않았다) 누군가가 캘린더에서 이벤트를 편집 할 때 업데이 트를받을 수 있습니다. 내 이벤트는 SQL 데이터베이스에 저장됩니다.

포트 80에서 아파치가 제공하는 PHP 페이지의 8181 포트에서 Socket.IO를 사용하는 방법이 있습니까?

감사합니다.

답변

1

귀하의 문제를 이해하고 있는지 잘 모르겠습니다. 페이지가 PHP에서 포트 80을 통해 제공되면 가장 간단한 설정으로 8181의 socket.io 서버에 연결합니다.

그리고 나서 당신은 아마 당신의 socket.io 서버에 메시지를 보낼 것이므로 PHP와 다시 대화 할 필요가 없습니다.

로드 밸런싱 socket.io의 경우 HAProxy를 사용할 수 있다고 생각합니다. LearnBoost는 Github에서도 대안이 있다고 생각합니다. 사실 내 앱으로 아직이 단계에 오르지 않았으므로 여기서 너무 많은 정보를 제공 할 수는 없습니다.

하지만 네, socket.io 서버는 메시지를 받아 처리하고 보내야합니다. socket.io가 여러 개 실행중인 경우 Pub/Sub에 redis를 사용할 수도 있습니다.

데이터베이스와 직접 상호 작용할 수있는 비동기 MySQL 드라이버 용 노드 모듈이 있습니다. 내 응용 프로그램에서 MongoDb를 사용하고 있으므로 MySQL 모듈을 사용한 적이 없습니다.

PHP 서버를 웹 서비스로 사용할 수 있으며 socket.io 서버가이 서버와 상호 작용할 수도 있지만 그렇게 느리게 진행될 것이라고 생각합니다.

이렇게하면 문제가 해결되기를 바랍니다. 당신의 설정이 이미 dev 환경에서 작동하는 것처럼 보입니다.