Add an example demonstrating SNI usage.
diff --git a/examples/sni/client.py b/examples/sni/client.py
new file mode 100644
index 0000000..5b93671
--- /dev/null
+++ b/examples/sni/client.py
@@ -0,0 +1,35 @@
+# Copyright (C) Jean-Paul Calderone
+# See LICENSE for details.
+
+if __name__ == '__main__':
+    import client
+    raise SystemExit(client.main())
+
+from sys import argv, stdout
+from socket import socket
+
+from OpenSSL.SSL import TLSv1_METHOD, Context, Connection
+
+def main():
+    """
+    Connect to an SNI-enabled server and request a specific hostname, specified
+    by argv[1], of it.
+    """
+    if len(argv) < 2:
+        print 'Usage: %s <hostname>' % (argv[0],)
+        return 1
+
+    client = socket()
+
+    print 'Connecting...',
+    stdout.flush()
+    client.connect(('127.0.0.1', 8443))
+    print 'connected', client.getpeername()
+
+    client_ssl = Connection(Context(TLSv1_METHOD), client)
+    client_ssl.set_connect_state()
+    client_ssl.set_tlsext_host_name(argv[1])
+    client_ssl.do_handshake()
+    print 'Server subject is', client_ssl.get_peer_certificate().get_subject()
+    client_ssl.close()
+