             
             defer
             {
-                connected?.commandAckRead()
+                if readAgain
+                {
+                    connected?.commandAckRead()
+                }
             }
         }
         else if step == 1

        
        if header.size < mergedData.count
        {
            defer
            {
                let sub:Data = data.subdata(in:Int(header.size) ..< mergedData.count)
                
                dataRead(data:sub, sock:sock)
            }
        }

            
            defer
            {
                if readAgain
                {
                    connected?.eventReadDataConnection()
                }
            }
        }
        else if step == 2
