Данные не доходят по http из gen_tcp

При настройке сокета и установке {packet, http}, никакие данные как будто не уходят. Всё происходит на одной машине, tcp из терминала в терминал - норм, http - из браузера и второго окна терминала данные приходят, обратно будто ничего не уходило. Гоову сломал. Зойчем всё это? Для полноценного сервера задача мелкая, поэтому наколенка.

Что я делаю не так?

hreq({S, N}) ->
    receive
        close ->
            ok;
        {http, S, http_eoh} ->
            io:format("~nHTTP-EOH-1~n"),
            Hd="HTTP/1.x 200 OK\r\n Content-Type: text/html, charset=ISO-8859-1\r\n\r\n",
            gen_tcp:send(S, Hd),
            Sq=$",
            Bsend=lists:flatten("<!DOCTYPE html>\r\n<html>\r\n<head>\r\n<meta charset="++[Sq]++"ISO-8859-1"++[Sq]++"/>\r\n<title>@</title>\r\n</head>\r\n<body>\r\n<p>HEADER WELCOME</p>\r\n</body>\r\n</html>\r\n\r\n"),
            gen_tcp:send(S, Bsend),
            inet:setopts(S, [list, {active, true}, {packet, http}]),
            io:format("~nHTTP-EOH-2~n"),
            hreq({S, N});
        {tcp_closed, S} ->
            gen_tcp:close(S),
            io:format("~nCLOSED~n");
        Data ->
            io:format("~n~p~n", [Data]),
            inet:setopts(S, [list, {active, true}, {packet, http}]),
            hreq({S, N})
    end.

Ответы (1 шт):

Автор решения: rabbid

Всё нормально, всё работает. Надо всего лишь юзать бинарное представление данных: https://stackoverflow.com/questions/2206933/how-to-write-a-simple-webserver-in-erlang

Opts=[binary, {active, once}, {packet, http_bin}]

→ Ссылка