switch to SSL_get_version.
diff --git a/OpenSSL/SSL.py b/OpenSSL/SSL.py
index 2ee0512..28e5199 100644
--- a/OpenSSL/SSL.py
+++ b/OpenSSL/SSL.py
@@ -1883,6 +1883,18 @@
             return version.decode("utf-8")
 
 
+    def get_protocol_version(self):
+        """
+        Obtain the protocol version of the current connection.
+
+        :returns: The TLS version of the current connection, for example
+            the value for TLS 1.2 would be 0x303.
+        :rtype: :py:class:`int`
+        """
+        version = _lib.SSL_get_version(self._ssl)
+        return version
+	
+
     @_requires_npn
     def get_next_proto_negotiated(self):
         """
diff --git a/OpenSSL/test/test_ssl.py b/OpenSSL/test/test_ssl.py
index 7605dc0..83d9896 100644
--- a/OpenSSL/test/test_ssl.py
+++ b/OpenSSL/test/test_ssl.py
@@ -2747,15 +2747,15 @@
 
     def test_get_protocol_version(self):
         """
-        :py:obj:`Connection.get_protocol_version` returns a :py:class:`int`
+        :py:obj:`Connection.get_protocol_version` returns a string
         giving the protocol version of the current connection.
         """
         server, client = self._loopback()
         server_protocol_version, client_protocol_version = \
             server.get_protocol_version(), client.get_protocol_version()
 
-        self.assertIsInstance(server_protocol_version, int)
-        self.assertIsInstance(client_protocol_version, int)
+        self.assertIsInstance(server_protocol_version, text_type)
+        self.assertIsInstance(client_protocol_version, text_type)
 
         self.assertEqual(server_protocol_version, client_protocol_version)