We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
在WebSocket 文档 (多媒体内容上传)(#474)中得知websocket 的文件上传涉及到 socket 阻塞还未实现。
考虑到WebSocket阻塞当前线程的正常收发消息的问题,可以使用新的WebSocket连接进行上传文件,这样就不会阻塞当前的WebSocket。
主 WebSocket 客户端在准备上传文件,那么使用当前的会话信息与 WebSocket 服务端建立起上传文件专属通道,该通道只进行文件数据的传输,参考 (创建连接)文档,可以添加一个 file 或 stream 类型,该通道用于文件数据传输,
传输格式就与Http数据格式一样就行,请求正文头部内容携带上传文件的信息Http多媒体内容上传,类型,文件名,文件总长度,然后先发送,之后文件使用文件流进行上传,然后客户端根据文件长度接收文件Stream,上传结束后正常响应信息描述是否成功,然后关闭该通道。这样就不存在阻塞主ws客户端的正常收发了
The text was updated successfully, but these errors were encountered:
这个实现对 #732 建议在客户端中需要特殊支持,客户端适配器接口需要编写一个专门用于上传文件的方法,然后适配器进行重写,比如:WebSocket适配器就重写这个方法,然后与服务端建立传输文件的新连接发送。
服务端只需要对客户端文件传输通道建立进行管理就行
Sorry, something went wrong.
使用额外的 websocket 上传和使用 http 上传没有区别
现在解决方案:在 ws adapter 中开放多媒体上传的 HTTP 接口,无需单独开启 http adapter。发布于 2.10.0
ws adapter
http adapter
2.10.0
No branches or pull requests
在WebSocket 文档 (多媒体内容上传)(#474)中得知websocket 的文件上传涉及到 socket 阻塞还未实现。
考虑到WebSocket阻塞当前线程的正常收发消息的问题,可以使用新的WebSocket连接进行上传文件,这样就不会阻塞当前的WebSocket。
实现
主 WebSocket 客户端在准备上传文件,那么使用当前的会话信息与 WebSocket 服务端建立起上传文件专属通道,该通道只进行文件数据的传输,参考 (创建连接)文档,可以添加一个 file 或 stream 类型,该通道用于文件数据传输,
传输格式就与Http数据格式一样就行,请求正文头部内容携带上传文件的信息Http多媒体内容上传,类型,文件名,文件总长度,然后先发送,之后文件使用文件流进行上传,然后客户端根据文件长度接收文件Stream,上传结束后正常响应信息描述是否成功,然后关闭该通道。这样就不存在阻塞主ws客户端的正常收发了
The text was updated successfully, but these errors were encountered: