我正在使用Vert.x及其ServerWebSocket
类来处理服务器项目。
目前,我的项目使用Pump#pump()
和ServerWebSocket#write()
方法向客户端发送大型二进制数据,效果很好。但我发现ServerWebSocket
有另一种发送二进制数据的方法writeBinaryMessage()
。
手册说:
writeBinaryMessage()
:如果超过最大WebSocket帧大小,此数据可能被写为多个帧
但我认为ServerWebSocket#write()
也可以通过抽取流来将数据作为多个部分发送。
writeBinaryMessage()
和write()
之间的区别是什么?
答案 0 :(得分:2)
writeBinaryMessage():
写()
两者都返回相同类型的数据并采用Buffer类型的参数。
唯一的区别是两个函数在内部处理不同的数据。
如果你想写一个大的二进制数据,那么你应该使用 writeBinaryMessage(缓冲区数据),如果你动态地发送了很多小消息,你应该使用async函数 write(Buffer data) )
请参阅: