使用websocket包装器时,数据如何“框架化”?

时间:2016-07-11 05:19:25

标签: javascript websocket libwebsockets

我一直在测试Caddy ServerWeb Socket Daemon,看看从服务器环境支持WebSockets是多么容易。这两种解决方案都是使用您选择的命令行程序的标准输入/输出的抽象(用您选择的任何语言编写)。

但是,这两个程序都是基于行的。也就是说,如果命令行程序将单个“消息”写入包含换行符的标准输出,则您的JavaScript websocket代码将看到两个不同的消息。

有什么方法可以避免这个问题吗?

编辑:作为非官方答案,您可以执行多种编码以避免换行问题。例如,如果命令行程序使用JSON编码的数据进行响应,则可以在将数据写入标准输出之前简单地对数据进行base64编码。然后,JavaScript会在对JSON进行解码之前对此数据调用atob()。使用多个编码会增加一些轻微的开销,但它确实可以避免换行符问题(以及其他非打印和控制字符可能存在的其他问题)。

0 个答案:

没有答案