跳到主要内容
CNode

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

社区
Zzhs077发布于 13 年前最后回复 13 年前
968160

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

    socket.write('hello');

//返回给客户端

});

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

查看回复

回复 (9)

Z
zhs077#913 年前
引用 yorkie

我是常连接的

Y
yorkie#813 年前
var buffers = [];
socket.on('data', function(chunk) {
  buffers.push(chunk);
})
socket.on('end', function() {
  var data = Buffer.concat(buffers).toString('utf8');
})
Z
zhs077#713 年前

ExBuffer解决该问题

X
xujun52011#613 年前

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

Z
zhanglei#513 年前

事件队列

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

@sinsupakaka还是不行。。。

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

@zhs077用ExBuffer

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

服务端怎么接受数据?

H
hexie#113 年前

自己粘包。。必须的。

参与回复

登录后即可参与回复。登录