2014-04-12 2 views
2

토네이도의 httpserver 모듈이 tcpserver 모듈을 기반으로 구현된다는 것을 알고 있으므로 토네이도를 기반으로 소켓 서버를 작성할 수 있습니다. 하지만 소켓 서버와 웹 서버 인 서버를 작성하려면 어떻게해야합니까?토네이도를 소켓 서버와 웹 서버로 사용하는 방법?

예를 들어 채팅 앱을 구현하고 싶습니다. 사용자는 브라우저 또는 클라이언트 프로그램을 통해 로그인 할 수 있습니다. 브라우저 사용자는 백엔드 서버를 통해 클라이언트 사용자에게 msg를 보낼 수 있습니다. 따라서 백엔드 서버는 웹 및 소켓 서버입니다.

답변

3

동일한 프로세스 내에서 IOLoop을 공유하는 여러 서버를 시작할 수 있습니다. HTTPServer는 한 포트에서 수신 대기하고 TCPServer는 다른 포트에서 수신 대기 할 수 있습니다.

+0

대단히 감사합니다. IOLoop이 어떻게 작동하는지 아직 모르지만 아이디어는 마술처럼 작동합니다. – zijuexiansheng

+0

IOLoop은 프로세스의 모든 소켓을 알고 있습니다. 클라이언트가 연결할 때나 클라이언트가 데이터를 보낼 때와 같이 소켓에 이벤트를 등록하고 루프는 관련 콜백을 실행하여 해당 이벤트를 처리합니다. 동일한 프로세스에서 HTTPServer와 TCPServer를 실행하면 IOLoop이 수신 대기 소켓에서 자동으로 이벤트를 처리합니다. –

+0

몇 가지 예제 코드를 보여줄 수있는 방법이 있습니까? 나는 클라이언트 응용 프로그램 (비 브라우저)에서 연결을 받아 들일 수있는 무언가로 내 토네이도 웹 소켓을 변환하려고 시도하기 전에 연구를하고 있습니다. – Hososugi

관련 문제