we don't accept illegal input. bug fixed
some improvement for Protocol. without protocol =illegal & close. Test added.