[99s-extend] Help to use frameset in index.html
Graham Hay
grahamrhay at gmail.com
Tue Jun 23 11:06:35 CEST 2015
I think the order of your routes is the problem, try putting this line
<https://github.com/ethrbh/websocket_2/blob/master/src/websocket_2_app.erl#L17>
last.
On 23 June 2015 at 09:56, Loïc Hoguin <essen at ninenines.eu> wrote:
> The {error, enoent}, especially there, is probably just because the
> browser is trying to fetch the favicon.
>
> Your issue is that Websocket won't connect, so it has nothing to do with
> cowboy_rest. Try tracing cowboy_websocket or enable SASL to have more info.
>
>
> On 06/23/2015 10:28 AM, Robert Balogh wrote:
>
>> hello,
>>
>> First of all I would say I am a beginner in Cowboy web server, so
>> probably I made something wrong, that is why I got the "fault", what I
>> got.
>>
>> I would like to build up web page, where the client can communicate to
>> server, and server can do the same to client, if client does not send
>> anything to server too. The Cowboy has the websocket example, what does
>> what I would like to do.
>>
>> There is only one thing is missing what I would like to have. This is
>> the "frameset". My idea is to build the index.html using framsets. I
>> made this changes, and I build up the html files for the frames, and of
>> course I set these in the index.html.
>>
>> Here is how the index.html looks like
>> <html>
>>
>> <head>
>> <title>Welcome to Websocket example 2</title>
>> </head>
>>
>> <frameset rows="64,*">
>> <frame name="top_frame" noresize="noresize" scrolling="no"
>> src="frame_top.html">
>> <frameset cols="450,*">
>> <frame name="left_frame" scrolling="auto"
>> src="frame_left.html">
>> <frame name="right_frame" src="frame_right.html">
>> </frameset>
>> <noframes>
>> <body>
>>
>> </body>
>> </noframes>
>> </frameset>
>>
>> </html>
>>
>> This is how the priv folder looks like
>> -----------------------------------------------------------
>> ls priv/
>> frame_left.html frame_right.html frame_top.html index.html static
>>
>> This is how I changed the websocket_2_app:start/2 function
>> -----------------------------------------------------------
>> Dispatch = cowboy_router:compile([
>> {'_', [
>>
>> {"/", cowboy_static, {priv_file, websocket_2, "index.html"}},
>> {"/[...]", cowboy_static, {priv_dir, websocket_2, ""}},
>>
>> {"/websocket_2", ws_handler_2, []},
>> {"/static/[...]", cowboy_static, {priv_dir, websocket_2,
>> "static"}}
>> ]}
>> ]),
>>
>> After compile and make release package of the app, I can reach the
>> webserver on the port 8080, but some connection does not set up
>> correctly. The following texts are present in the browser
>> DISCONNECTED
>>
>> ERROR: undefined
>>
>> Connecting to: ws://localhost:8080/websocket_2
>>
>> I made a dbg trace on all cowboy modules, to start some kind of
>> troubleshooting. In the "tons" of printout I can see this one. So in the
>> bottom of this, there is an {error,enoent}. It comes when tries connect
>> to the socket. But unfortunatelly I do not have idea what may cause this
>> :-(
>>
>> The part of trace
>> -----------------------------------------------------------
>> (<0.177.0>) call
>>
>> cowboy_rest:next({http_req,#Port<0.646>,ranch_tcp,keepalive,<0.177.0>,<<"GET">>,'HTTP/1.1',
>> {{127,0,0,1},33241},
>> <<"localhost">>,undefined,8080,<<"/websocket_2">>,
>> [<<"websocket_2">>],
>> <<>>,undefined,[],
>> [{<<"host">>,<<"localhost:8080">>},
>> {<<"connection">>,<<"Upgrade">>},
>> {<<"pragma">>,<<"no-cache">>},
>> {<<"cache-control">>,<<"no-cache">>},
>> {<<"upgrade">>,<<"websocket">>},
>> {<<"origin">>,<<"http://localhost:8080">>},
>> {<<"sec-websocket-version">>,<<"13">>},
>> {<<"user-agent">>,
>> <<"Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36
>> (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36">>},
>> {<<"accept-encoding">>,<<"gzip, deflate, sdch">>},
>> {<<"accept-language">>,<<"en-US,en;q=0.8">>},
>> {<<"sec-websocket-key">>,<<"by/gwaQvb/51W7Wa9zrGQg==">>},
>> {<<"sec-websocket-extensions">>,
>> <<"permessage-deflate; client_max_window_bits">>}],
>> [{<<"connection">>,[<<"upgrade">>]}],
>>
>>
>> undefined,[],waiting,<<>>,undefined,false,waiting,[],<<>>,undefined},{state,[{handler,cowboy_static},
>> {handler_opts,{priv_dir,websocket_2,[]}},
>> {listener,http},
>> {dispatch,[{'_',[],
>> [{[],[],cowboy_static,
>> {priv_file,websocket_2,"index.html"}},
>>
>> {['...'],[],cowboy_static,{priv_dir,websocket_2,[]}},
>> {[<<"websocket_2">>],[],ws_handler_2,[]},
>> {[<<"static">>,'...'],
>> [],cowboy_static,
>> {priv_dir,websocket_2,"static"}}]}]}],
>> <<"GET">>,cowboy_static,
>>
>>
>> {<<"/home/ethrbh/projects/github/websocket_2/_rel/websocket_2/lib/websocket_2-1/priv/websocket_2">>,
>> {error,enoent},
>> []},
>>
>> undefined,[],undefined,[],undefined,[],undefined,false,undefined,
>> undefined,undefined},#Fun<cowboy_rest.2.41839999>)
>> (Timestamp: {1435,
>>
>> 46126,
>>
>> 935663})
>>
>> I guess, I did something very wrong, but I did not found what is that,
>> thus I would like to get some help from you.
>>
>> Please find my small project in github:
>> https://github.com/ethrbh/websocket_2
>>
>> thanks for your help,
>> /Robi
>>
>>
>>
>> _______________________________________________
>> Extend mailing list
>> Extend at lists.ninenines.eu
>> https://lists.ninenines.eu/listinfo/extend
>>
>>
> --
> Loïc Hoguin
> http://ninenines.eu
> Author of The Erlanger Playbook,
> A book about software development using Erlang
> _______________________________________________
> Extend mailing list
> Extend at lists.ninenines.eu
> https://lists.ninenines.eu/listinfo/extend
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ninenines.eu/archives/extend/attachments/20150623/dd7366a3/attachment.html>
More information about the Extend
mailing list