1
kstsca OP 看来没人知道
|
2
kmvan 2014-09-15 19:09:46 +08:00 via Android
谁知道啊,上demo
|
3
willwen 2014-09-15 19:16:51 +08:00 via iPhone
這是sio用來做數據切割的,兩端會自動處理掉。
|
4
kstsca OP 那为什么用 client.emit('www',JSON.stringify(data)); 发送的数据 前面都是 5::: ,而且他们返回的数据也不长,为什么要切割
|
5
jedihy 2014-09-15 19:35:42 +08:00
@kstsca 不长不代表不会被切,应用层没有办法控制下层不分片的,TCP实际发送的时候自己判断是不是分片,跟你传给下层多少数据没有必然关系。socket通信都必须用类似的方式来封装,有的是加包头标示数据长度,有得是特殊字符标示起止位置。
|
6
bolasblack 2014-09-16 09:07:13 +08:00
这不是 socket.io 协议里的东西吗?好像最前面的数字代表着消息的类型
|
7
kstsca OP @bolasblack 对啊 就是不清楚,这代表什么。。。
|
8
bolasblack 2014-09-16 09:22:47 +08:00 1
|
9
kstsca OP |
10
bolasblack 2014-09-16 22:41:17 +08:00 1
@kstsca 我也没有尝试过发出来一个 6:::1+ 的,手头上也没有可以给我尝试的
不过我刚才去搜索了一下代码,发现这部分代码量不大,还是比较好理解的,你可以研究一下,然后自己尝试一下: https://github.com/Automattic/socket.io/blob/a40068b5f328fe50a2cd1e54c681be792d89a595/lib/socket.js#L137 |
11
kstsca OP @bolasblack 走websocket 数据如何查看,我在chrome tools里看,中文都是乱码 有办法解决么
|
12
bolasblack 2014-09-16 22:47:21 +08:00
|
13
bolasblack 2014-09-16 22:49:05 +08:00 1
@kstsca 乱码这部分我是真不知道了……
|