Small updates that fix a couple of connection issues
This commit is contained in:
parent
b059cdf02c
commit
5af21af575
2 changed files with 11 additions and 5 deletions
|
|
@ -161,7 +161,6 @@ class SocketIO(object):
|
||||||
# This sets of a chain of events that attempts to connect to
|
# This sets of a chain of events that attempts to connect to
|
||||||
# the server at the base namespace.
|
# the server at the base namespace.
|
||||||
self.define(Namespace)
|
self.define(Namespace)
|
||||||
self._transport.connect("");
|
|
||||||
|
|
||||||
# Events that fail to emit due to connection errors will be
|
# Events that fail to emit due to connection errors will be
|
||||||
# placed in this 'queue' and re-sent automatically upon
|
# placed in this 'queue' and re-sent automatically upon
|
||||||
|
|
@ -430,6 +429,7 @@ class SocketIO(object):
|
||||||
"""
|
"""
|
||||||
websocket = transports.WebsocketTransport(self.session, self.is_secure, self.base_url, **self.kw);
|
websocket = transports.WebsocketTransport(self.session, self.is_secure, self.base_url, **self.kw);
|
||||||
websocket.send_packet(PacketType.PING, "", "probe");
|
websocket.send_packet(PacketType.PING, "", "probe");
|
||||||
|
|
||||||
for packet in websocket.recv_packet():
|
for packet in websocket.recv_packet():
|
||||||
_log.debug("[websocket] Packet: %s" % str(packet));
|
_log.debug("[websocket] Packet: %s" % str(packet));
|
||||||
if packet.type == PacketType.PONG:
|
if packet.type == PacketType.PONG:
|
||||||
|
|
@ -486,6 +486,11 @@ class SocketIO(object):
|
||||||
transport = transports.XHR_PollingTransport(self.session, self.is_secure, self.base_url, **self.kw);
|
transport = transports.XHR_PollingTransport(self.session, self.is_secure, self.base_url, **self.kw);
|
||||||
transport.set_timeout(self.session.connection_timeout);
|
transport.set_timeout(self.session.connection_timeout);
|
||||||
|
|
||||||
|
# Wait for the response that we connected.
|
||||||
|
packet = None;
|
||||||
|
while packet == None or packet.type != PacketType.MESSAGE or packet.payload.type != MessageType.CONNECT:
|
||||||
|
packet = transport.recv().next();
|
||||||
|
|
||||||
# If websocket is available, upgrade to it immediately.
|
# If websocket is available, upgrade to it immediately.
|
||||||
# TODO(sean): We could run this on a separate thread for
|
# TODO(sean): We could run this on a separate thread for
|
||||||
# maximum efficiency although that would require some
|
# maximum efficiency although that would require some
|
||||||
|
|
@ -496,7 +501,7 @@ class SocketIO(object):
|
||||||
try:
|
try:
|
||||||
transport = self._upgrade();
|
transport = self._upgrade();
|
||||||
break;
|
break;
|
||||||
except:
|
except Exception, e:
|
||||||
pass;
|
pass;
|
||||||
time.sleep(1);
|
time.sleep(1);
|
||||||
num_retries += 1;
|
num_retries += 1;
|
||||||
|
|
|
||||||
|
|
@ -133,12 +133,13 @@ class WebsocketTransport(_AbstractTransport):
|
||||||
base_url, parser.ENGINEIO_PROTOCOL, socketIO_session.id)
|
base_url, parser.ENGINEIO_PROTOCOL, socketIO_session.id)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
_log.debug("[websocket] Connecting");
|
_log.debug("[websocket] Connecting to: %s" % self._url);
|
||||||
self._connection = websocket.create_connection(self._url)
|
self._connection = websocket.create_connection(self._url);
|
||||||
except socket.timeout as e:
|
except socket.timeout as e:
|
||||||
raise ConnectionError(e)
|
raise ConnectionError(e)
|
||||||
except socket.error as e:
|
except socket.error as e:
|
||||||
raise ConnectionError(e)
|
raise ConnectionError(e)
|
||||||
|
|
||||||
self._connection.settimeout(TIMEOUT_IN_SECONDS)
|
self._connection.settimeout(TIMEOUT_IN_SECONDS)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue