基于webapi的websocket聊天室(番外一)

上一篇我已经实现了聊天室,并且在协议中实现了4种类型的消息传输。其实还可以添加video,audio,live等等类型。
不过假如把目前的协议看作RCP1.0版的话,这个版本就只支持有限的4种消息。精力有限啊。也许RCP2.0就可以把video,audio类型加进去?
这不是这篇番外考虑的。而是我在定义和实现协议的过程中注意到了一些问题。
系统的网络缓冲区是怎么回事?
因为我自己定义了一个400字节的buffer用来接收消息。如果接收到的消息超出了400字节,WebSocket会给出提示,将EndOfMessage字段设置为false。
这到底是

客户端暂停了本次发送,等到服务器再一次执行ReceiveAsync方法时才继续发送?
还是WebSocket对象本身内置了缓冲区?消息全部都暂存在缓冲区?

我使用浏览器开发者工具监视了ws消息发送过程,结合后台断点调试,发现WebSocket采用了第二种方案。把消息全部存在缓冲区,我用buffer读一次,就取出来一点。
既然是缓冲区,那么一个WebSocket对象的内置缓冲区有多大?客户端发送的文件长度超过了WebSocket对象的内置缓......

版权声明:cnblogshot 发表于 2024-05-23 16:34:10。
转载请注明:基于webapi的websocket聊天室(番外一) | 程序员导航网

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...