使用 TLS 模板做的服务器,其中有字符串上传,有文件上传。上传时会触发data事件,但客户端write(bytes)时有时会执行两次的data事件为何??
发布于 2天前 作者 mrlong 73 次浏览 来自 问答

服务器:

var server = tls.createServer(Options,function(socket){

  socket.on('data',function(buffer){
     console.log('1111');
     
     clientdata.ClientData(this,socket,buffer);  //buffer 必须是完整的内容,执行客户端请求。
  });

}

客户端: 长连接。 var myms : Tmemorystream; begin myms.read(mybs[0],myms.size); socket.write(mybs); //如这个mybs比较大时,服务器的data会执行两次。

end;

===========================================
由于我是长连接,不能在服务器的 end 事件执行  clientdata.ClientData(this,socket,buffer)
大家有没有办法处理这个问题。将服务器的data只执行一次。或会办法在data 事件等待接收完之后执行  clientdata.ClientData(this,socket,buffer)
回到顶部