'chat'에 해당되는 글 2

  1. 2013.04.20 [Perl Advent Calendar] Mojolicious, HTML5, WebSocket을 이용한 비동기 채팅
  2. 2009.04.23 작지만 알찬 서비스 - Tinychat

[Perl Advent Calendar] Mojolicious, HTML5, WebSocket을 이용한 비동기 채팅

- 2011 스무번째 날: Mojolicious, HTML5, WebSocket을 이용한 비동기 채팅

- Mojolicious 설치
> cpan Mojolicious
> mojo generate app Chat //
> tree
> morbo chat/script/chat
http://127.0.0.1:3000/

- lib/Chat.pm에 라우팅 추가

- lib/Chat/ChatControl.pm 작성
- View 작성
templates/ChatControl/chatAction.html.ep
templates/layouts/chatLayout.html.ep

- 그런데 서버가 응답을 주지 않는다.
Control까지는 진행되는데 View를 찾지 못한다.
한참동안 이것저것 해보다 log 디렉토리가 있다는 것을 보고 로그를 확인해 봤다.
[Sat Apr 20 15:24:43 2013] [debug] Routing to controller "Chat::ChatControl" and action "chatAction".
[Sat Apr 20 15:24:43 2013] [debug] Template "chat_control/chatAction.html.ep" not found.
[Sat Apr 20 15:24:43 2013] [debug] Template "chat_control/chatAction.html.ep" not found.
[Sat Apr 20 15:24:43 2013] [debug] Nothing has been rendered, expecting delayed response.
[Sat Apr 20 15:24:47 2013] [debug] Inactivity timeout.
(진작 로그를 확인했어야 한다.)

- [수정] chatAction.html.eptemplates/chat_control/에 만든다.

- 페이지는 보이는데 제대로 기능이 동작하지 않는다.
[Sat Apr 20 18:44:35 2013] [debug] Routing to controller "Chat::Control" and action "wsAction".
[Sat Apr 20 18:44:35 2013] [error] Can't locate object method "send_message" via package "Mojo::Transaction::WebSocket" at D:/resources/reps/perl_workspace/chat/script/../lib/Chat/Control.pm line 20.

[Sat Apr 20 18:44:35 2013] [debug] Template "exception.development.html.ep" not found.
[Sat Apr 20 18:44:35 2013] [debug] Template "exception.html.ep" not found.
[Sat Apr 20 18:44:35 2013] [debug] Rendering inline template.
[Sat Apr 20 18:44:35 2013] [debug] Rendering inline template.
[Sat Apr 20 18:44:35 2013] [debug] 500 Internal Server Error (0.032355s, 30.907/s).

send_message 메서드가 없다고?
찾아보니 send 라는 메서드가 있다. 수정!

자알 된다.

작지만 알찬 서비스 - Tinychat

 

2024-04 Tinychat is an online video chat community. 로그인해야 됨. 

http://www.tinychat.com/

간단한 대화 서비스
그냥 대화방을 만들고 짧은 URL 을 상대방에게 알려주면 된다.

예전에 이런 기능이 필요해서 만들려고 했었는데.(업무상 필요한데 메신저 주소는 알려주기 싫고...)