exactly, this problem just meet when we use Mojolicious version later than 
that of 6.22.


在 2016年3月1日星期二 UTC+8下午3:10:53,[email protected]写道:

> Dear Sir,
>
> We meet a connection problem when we use Mojo websocket as server and use 
> AS3WebSocket as client, it's can not successly create a connetion between 
> client and server.
>
> This problem just happen when we update to Mojolicious 6, everything is ok 
> in Mojolicious 5.
>
> Please give some guides.
>
> Thanks in advance.
>
> David
>
>
>
> ActionScript 3 WebSocket Client  ( 
> https://github.com/theturtle32/AS3WebSocket )
> This is an AS3 implementation of a client library of the WebSocket 
> protocol, as specified in the RFC6455 standard.
>
>
> server code:
>
> use Mojolicious::Lite;
>
> # WebSocket echo service
> websocket '/abc' => sub {
>   my $c = shift;
>
>   # Opened
>   $c->app->log->debug('WebSocket opened');
>
>   # Increase inactivity timeout for connection a bit
>   $c->inactivity_timeout(300);
>
>   # Incoming message
>   $c->on(message => sub {
>     my ($c, $msg) = @_;
>     $c->send("echo: $msg");
>   });
>
>   # Closed
>   $c->on(finish => sub {
>     my ($c, $code, $reason) = @_;
>     $c->app->log->debug("WebSocket closed with status $code");
>   });
> };
>
> app->start;
>
> server debug:
>
> set MOJO_REACTOR=Mojo::Reactor::Poll
> morbo --listen "http://*:3333"; websocket_server.pl
> Server available at http://127.0.0.1:3333
> [Tue Mar  1 14:51:05 2016] [debug] GET "/abc"
> [Tue Mar  1 14:51:05 2016] [debug] Routing to a callback
> [Tue Mar  1 14:51:05 2016] [debug] WebSocket opened
> [Tue Mar  1 14:51:05 2016] [debug] 101 Switching Protocols (0.002318s, 
> 431.406/s)
> [Tue Mar  1 14:51:05 2016] [debug] WebSocket closed with status 1006
>
>
> client code:
>
> import com.adobe.serialization.json.JSON; 
> import com.worlize.websocket.*
>
> var websocket:WebSocket = new WebSocket("ws://127.0.0.1:3333/abc", "*", 
> "my-chat-protocol");
> websocket.addEventListener(WebSocketEvent.CLOSED, handleWebSocketClosed);
> websocket.addEventListener(WebSocketEvent.OPEN, handleWebSocketOpen);
> websocket.addEventListener(WebSocketEvent.MESSAGE, handleWebSocketMessage);
> websocket.addEventListener(WebSocketErrorEvent.CONNECTION_FAIL, 
> handleConnectionFail);
> websocket.connect();
>
> function handleWebSocketOpen(event:WebSocketEvent):void {
>   trace("Connected");
>   websocket.sendUTF("Hello World!\n");
>
>   var binaryData:ByteArray = new ByteArray();
>   binaryData.writeUTF("Hello as Binary Message!");
>   websocket.sendBytes(binaryData);
> }
>
> function handleWebSocketClosed(event:WebSocketEvent):void {
>   trace("Disconnected");
> }
>
> function handleConnectionFail(event:WebSocketErrorEvent):void {
>   trace("Connection Failure: " + event.text);
> }
>
> function handleWebSocketMessage(event:WebSocketEvent):void {
>   if (event.message.type === WebSocketMessage.TYPE_UTF8) {
>     trace("Got message: " + event.message.utf8Data);
>   }
>   else if (event.message.type === WebSocketMessage.TYPE_BINARY) {
>     trace("Got binary message of length " + 
> event.message.binaryData.length);
>   }
> }
>
> client debug:
>
> Disconnect
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.

Reply via email to