使用 TLS 模板做的服务器,其中有字符串上传,有文件上传。上传时会触发data事件,但客户端write(bytes)时有时会执行两次的data事件为何??
服务器:
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)