我正在进行一个有关WebSockets和Java的小实验。显然,根据WebSocket的最新草案,消息可以是二进制数据或纯文本字符串。我使用Webbit服务器,它有两个函数:
public void onMessage(WebSocketConnection connection, String message)
public void onMessage(WebSocketConnection connection, byte[] message)
我想知道二进制传输和字符串传输有什么区别。使用byte[]是否更快?或者为什么这很重要?因为即使在传输过程中,字符串也会被转换成字节,所以我可以使用字节编写一切。那么我们为什么需要两种方法呢?只有Google Chrome 15 Beta和16 Dev支持二进制传输,所以我考虑在客户端和服务器上都使用Base64编码/解码。这是唯一的区别吗?如果我只读取每个字节,将它们组合成一个字符串并发送它们会怎样呢?我认为,唯一的区别就是不是所有的字节都是字符串字符,所以当转换为字符串时会增加开销。
简而言之-> 二进制传输和字符串传输有什么区别?