如何使用Yaws通过WebSockets传输数据?

时间:2015-10-02 10:28:27

标签: yaws

我想使用Yaws通过WebSocket连接流式传输数据。我已经阅读了关于Streaming DataWeb Sockets的Yaws文档,我发现下面的Yaws API函数似乎相关:

yaws_api:websocket_send(Pid, {text, <<"hi there!">>}).

yaws_api:stream_chunk_deliver(YawsPid, BinData).

yaws_api:stream_chunk_end(YawsPid).

但目前尚不清楚它们是如何相关的,或者即使它们是相关的。任何人都可以解释如何通过Yaws websocket连接流式传输多个数据块,以便接收者将所有块视为一个碎片消息?

1 个答案:

答案 0 :(得分:0)

Yaws流媒体主要关注发送响应标头时发送内容长度未知的HTTP响应的应用程序,因此希望使用HTTP分块,或者希望避免缓冲所有响应内容或使用Comet-的应用程序风格回复。 WebSocket对发送数据没有相同的限制,因此要求yaws_api:websocket_send/2使用#ws_frame{}记录类型fin字段设置为false,流的每个块直到最后一个块,它必须是true。您可以在Yaws source code examples directory中找到可能有帮助的Yaws websocket示例。