问题标签 [cowboy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
160 浏览

erlang - 如何从其他客户端启动牛仔 websocket

我在我的机器上启动了牛仔示例 websocket 服务器,并使用 localhost 进行了测试,但在其他客户端它不起作用它怎么能工作?

0 投票
1 回答
13215 浏览

websocket - How can I know if the message sent by websocket success or not

I developed a chat server using websocket in cowboy, but I want to know if the message sent by server to client success.How can I know?

0 投票
1 回答
578 浏览

erlang - Cowboy Web 服务器应用程序非常慢

我目前正在使用最小的 Web 服务器,例如 Cowboy。我想在 URL 中传递一个数字,加载文件的行,对这些行进行排序并打印中间的元素以测试 IO 和排序。因此,代码会加载 /123 之类的路径,用数字填充“00123”,加载文件“input00123.txt”并对其内容进行排序,然后返回“input00123.txt 0.50000”之类的内容。

同时,我有一个测试工具,它同时发出 50 个请求,其中只有 2 个得到答复,其余的超时。

我的处理程序如下所示:

我在 Windows 上运行它以将其与 .NET 进行比较。有什么可以提高性能的,比如在线程中运行排序/IO,或者我该如何改进它?使用 cygwin 运行并没有太大改变结果,我得到了大约 5-6 个请求的答复。

提前致谢!

0 投票
1 回答
1418 浏览

erlang - 运行牛仔应用程序时出错

我无法启动牛仔应用程序,它给了我以下错误。出于某种原因,牧场没有启动,尽管我已经在我的应用程序中添加了启动牧场的代码。

我看到一个新的 git repo cowlib 被拉出。但仍然有麻烦。

以下是我的 app.src


我想弄清楚这里出了什么问题

谁能指出我可以用作模板的牛仔工作样本。我正在使用钢筋来编译代码。我不认为这应该有任何区别。我正在使用以下命令启动应用程序

erl -pa ./ebin ./deps/*/ebin

0 投票
1 回答
876 浏览

ajax - 浏览器不重定向

我有带有牛仔和 angular.js 的 erlang Web 应用程序。

我启动了我的应用程序,在“/”中打开了浏览器,并得到了 main.html<input><button>。当我按下按钮时,我向服务器发送 httpPOST请求到/join/username带有 angular的服务器,在服务器上$http收到此POST请求并将重定向发送到浏览器:

重定向响应标头:

发送重定向后,我从浏览器收到带有“/chat.html”路径的“GET”请求,没关系。我阅读了 chat.html 并将其发送回浏览器,但浏览器没有呈现它,并且浏览器中的 url 也没有改变。我在浏览器控制台中看到了 chat.html 200。

为什么浏览器不呈现新页面 - chat.html

UPD 1。

如果我/join/username手动输入浏览器,它会正常重定向。为什么?

谢谢你。

0 投票
1 回答
1152 浏览

erlang - Erlang Cowboy 中的编译错误——错误还是我?

我正在尝试通过严格遵循(例如剪切和粘贴)入门说明来生成 Erlang Cowboy 版本:

一切顺利,直到我创建Makefile并执行$ make. 编译过程如下结束:

我已经三次检查了我的代码,但看不到我错过的任何内容。

那么,这是我的错误吗?还是入门说明或 Cowboy 本身中的错误?如果这是我的错误,我该如何解决?

我已经向 提出了这个问题essen@ninenines.eu,但到目前为止没有任何回应。

0 投票
1 回答
3286 浏览

ssl - Erlang Cowboy SSL 示例

牛仔:https ://github.com/extend/cowboy

在 ssl 示例中,ssl 文件夹中需要三个文件,它们是 cowboy-ca.crt、server.crt 和 server.key。

我在startssl申请免费ssl,发现只有server.crt和server.key生成。

牛仔-ca.crt 是做什么用的?

我的问题是“我需要cowboy-ca.crt”吗?

提前致谢

0 投票
1 回答
510 浏览

erlang - 无法在 onresponse 挂钩中获取请求正文

我想记录所有请求以及对 db 的响应。我正在为此使用钩子。但看起来我无法在“onresponse”钩子中获取请求正文,它总是<<>>。在“onrequest”钩子中,我可以获得请求正文。

我的钩子定义为:

这是牛仔的错误还是正常行为?

我正在使用撰写本文时可用的最新牛仔(提交:aab63d605c595d8d0cd33646d13942d6cb372b60)。

0 投票
3 回答
1857 浏览

erlang - 使用 common test 测试基于牛仔的 Erlang 应用程序

我有一个基于 Cowboy 的 Erlang 应用程序,我想对其进行测试。

以前我使用 wooga 的库etest_http来完成此类任务,但我想开始使用常见测试,因为我注意到这是牛仔中使用的方式。我试图设置一个非常基本的测试,但我无法正确运行它。

任何人都可以为我提供一个测试基本示例echo_get的示例,并告诉我使用示例中包含的 Makefile 从控制台运行测试的正确方法是什么?

0 投票
1 回答
851 浏览

json - 如何处理牛仔 websocket 处理程序中的异常?

我试图在牛仔 websocket 处理程序中用 jiffy 解析它时捕获无效的 json。如果 json 有效/无效,我想转发一条适当的消息,websocket_info该消息将回复客户端。这是我的代码。

这会导致运行时异常。

12:07:48.406 [错误] 牧场侦听器 http 有连接过程 <0.523.0> 退出原因:{{try_clause,{{[{<<"register">>,<<"my-channel">>}] },{http_req,#Port<0.1337>,ranch_tcp,keepalive,<0.523.0>,<<"GET">>,'HTTP/1.1',{{127,0,0,1},34869},< <"127.0.0.1">>,undefined,3000,<<"/websocket/">>,undefined,<<>>,undefined,[],[{<<"升级">>,<<"websocket" >>},{<<"connection">>,<<"Upgrade">>},{<<"host">>,<<"127.0.0.1:3000">>},{<<"origin" >>,<<"http://localhost:4000">>},{<<"pragma">>,<<"no-cache">>},{<<"cache-control">>,<<"no-cache">>},{<< "sec-websocket-key">>,<<"ueSRxsIc4wM7KdGnyhJOhw==">>},{<<"sec-websocket-version">>,<<"13">>},{<<"sec-websocket -extensions">>,<<"x-webkit-deflate-frame">>},{<<"user-agent">>,<<"Mozilla/5.0 (X11; Linux i686 (x86_64)) AppleWebKit/537.36 (KHTML, 像 Gecko) Chrome/30.0.1599.114 Safari/537.36">>}],[{<<"sec-websocket-extensions">>,[{<<"x-webkit-deflate-frame">>, []}]},{<<"升级">>,[<<"websocket">>]},{<<"连接">>,[<<"升级">>]}],未定义,[{websocket_compress,false},{websocket_version,13}],等待,未定义,<<>>,false,完成,[],< <>>,undefined},undefined_state}},[{cowboy_websocket,handler_call,7,[{file,"src/cowboy_websocket.erl"},{line,598}]},{cowboy_protocol,execute,4,[{file ,"src/cowboy_protocol.erl"},{line,529}]}]}

那么我该怎么做呢?