[99s-extend] Help to use frameset in index.html

Robert Balogh ethrbh at gmail.com
Tue Jun 23 10:28:16 CEST 2015


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ninenines.eu/archives/extend/attachments/20150623/69dfc8e4/attachment-0001.html>


More information about the Extend mailing list