Add a comment explaining why SocketIO is needed
diff --git a/Lib/socket.py b/Lib/socket.py
index 9b5b23d..2861e0d 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -228,6 +228,13 @@
     the raw I/O interface on top of a socket object.
     """
 
+    # One might wonder why not let FileIO do the job instead.  There are two
+    # main reasons why FileIO is not adapted:
+    # - it wouldn't work under Windows (where you can't used read() and
+    #   write() on a socket handle)
+    # - it wouldn't work with socket timeouts (FileIO would ignore the
+    #   timeout and consider the socket non-blocking)
+
     # XXX More docs
 
     def __init__(self, sock, mode):