just don't broadcast anything other than disconnect to clients
diff --git a/conn.go b/conn.go
index 0d8de60..fe07f43 100644
--- a/conn.go
+++ b/conn.go
@@ -138,8 +138,9 @@
 		listeners = append(listeners, ch)
 	}
 	c.Unlock()
+	bcastRes := result{err: errors.New("unexpected server disconnect")}
 	for _, ch := range listeners {
-		ch <- result{err: err}
+		ch <- bcastRes
 	}
 	c.err = err
 	close(c.closed)