Some compatibility fixes for eventually supporting Python3
diff --git a/tsproxy.py b/tsproxy.py
index 81367a6..77f7834 100644
--- a/tsproxy.py
+++ b/tsproxy.py
@@ -18,7 +18,10 @@
 import gc
 import logging
 import platform
-import Queue
+try:
+    from Queue import Queue
+except ImportError:
+    from queue import Queue
 import re
 import signal
 import socket
@@ -53,7 +56,7 @@
 def PrintMessage(msg):
   # Print the message to stdout & flush to make sure that the message is not
   # buffered when tsproxy is run as a subprocess.
-  print >> sys.stdout, msg
+  sys.stdout.write(msg)
   sys.stdout.flush()
 
 ########################################################################################################################
@@ -67,7 +70,7 @@
     self.direction = direction
     self.latency = latency
     self.kbps = kbps
-    self.queue = Queue.Queue()
+    self.queue = Queue()
     self.last_tick = current_time()
     self.next_message = None
     self.available_bytes = .0
@@ -271,9 +274,9 @@
   def handle_write(self):
     if self.needs_config:
       self.needs_config = False
-      self.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
-      self.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 128 * 1024)
-      self.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 128 * 1024)
+      self.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
+      self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 128 * 1024)
+      self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 128 * 1024)
     if len(self.buffer) > 0:
       sent = self.send(self.buffer)
       logging.debug('[{0:d}] TCP => {1:d} byte(s)'.format(self.client_id, sent))
@@ -357,7 +360,7 @@
       self.set_reuse_addr()
       self.bind((host, port))
       self.listen(socket.SOMAXCONN)
-      self.ipaddr, self.port = self.getsockname()
+      self.ipaddr, self.port = self.socket.getsockname()
       self.current_client_id = 0
     except:
       PrintMessage("Unable to listen on {0}:{1}. Is the port already in use?".format(host, port))
@@ -396,9 +399,9 @@
     self.port = None
     self.requested_address = None
     self.buffer = ''
-    self.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
-    self.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 128 * 1024)
-    self.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 128 * 1024)
+    self.socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
+    self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 128 * 1024)
+    self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 128 * 1024)
     self.needs_close = False
 
   def SendMessage(self, type, message):