CNode

TCP 客户端发送大量数据给服务端

Zzhs077发布于13 年前最后回复13 年前10 回复6781 浏览0 收藏

发给客户端是这样的:tcp_client.write(file_content); 服务端接收: socket.on('data',function(data){ console.log(i++);

    socket.write('hello');

//返回给客户端

});

问题是:on('data')会多次执行,有什么办法解决吗?

查看回复

回复 (9)

Z
zhanglei#1·13 年前

事件队列

X
xujun52011#2·13 年前

严重怀疑你重复绑定了事件

Z
zhs077#3·13 年前

ExBuffer解决该问题

Z
zhs077#4·13 年前
引用 yorkie

我是常连接的

H
hexie#5·13 年前

自己粘包。。必须的。

Z
zhs077#6·13 年前
引用 hexie自己粘包。。必须的。

服务端怎么接受数据?

S
sinsupakaka#7·13 年前
引用 hexie自己粘包。。必须的。

@zhs077用ExBuffer

Z
zhs077#8·13 年前
引用 hexie自己粘包。。必须的。

@sinsupakaka还是不行。。。

Y
yorkie#9·13 年前
var buffers = [];
socket.on('data', function(chunk) {
  buffers.push(chunk);
})
socket.on('end', function() {
  var data = Buffer.concat(buffers).toString('utf8');
})
参与回复
登录后即可参与回复。登录