本文整理匯總了Python中_socket.error方法的典型用法代碼示例。如果您正苦於以下問題:Python _socket.error方法的具體用法?Python _socket.error怎麽用?Python _socket.error使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類_socket
的用法示例。
在下文中一共展示了_socket.error方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: systemcall
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def systemcall(meth):
"""Decorator to make system call methods safe from EINTR."""
# have to import this way to avoid a circular import
from _socket import error as SocketError
def systemcallmeth(*args, **kwargs):
while 1:
try:
rv = meth(*args, **kwargs)
except EnvironmentError as why:
if why.args and why.args[0] == EINTR:
continue
else:
raise
except SocketError as why:
if why.args and why.args[0] == EINTR:
continue
else:
raise
else:
break
return rv
return systemcallmeth
示例2: test_makefile_refcount
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def test_makefile_refcount(self):
"Ensures that the _socket stays open while there's still a file associated"
def echoer(port):
s = socket.socket()
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # prevents an "Address already in use" error when the socket is in a TIME_WAIT state
s.bind(('localhost', port))
s.listen(5)
(s2, ignore) = s.accept()
s2.send(s2.recv(10))
port = 50008
_thread.start_new_thread(echoer, (port, ))
time.sleep(1)
s = socket.socket()
s.connect(('localhost', port))
f1 = s.makefile('r')
f2 = s.makefile('w')
s.close()
test_msg = 'abc\n'
f2.write(test_msg)
f2.flush()
str = f1.readline()
self.assertEqual(str, test_msg)
示例3: _udp_socket
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def _udp_socket(address, backlog=50, reuse_addr=None, family=_socket.AF_INET):
# backlog argument for compat with tcp_listener
# pylint:disable=unused-argument
# we want gevent.socket.socket here
sock = socket(family=family, type=_socket.SOCK_DGRAM)
if reuse_addr is not None:
sock.setsockopt(_socket.SOL_SOCKET, _socket.SO_REUSEADDR, reuse_addr)
try:
sock.bind(address)
except _socket.error as ex:
strerror = getattr(ex, 'strerror', None)
if strerror is not None:
ex.strerror = strerror + ': ' + repr(address)
raise
return sock
示例4: test_getprotobyname
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def test_getprotobyname(self):
'''Tests _socket.getprotobyname'''
#IP and CPython
proto_map = {
"icmp": _socket.IPPROTO_ICMP,
"ip": _socket.IPPROTO_IP,
"tcp": _socket.IPPROTO_TCP,
"udp": _socket.IPPROTO_UDP,
}
#supported only by IP
if is_cli:
proto_map.update(
{"dstopts": _socket.IPPROTO_DSTOPTS,
"none": _socket.IPPROTO_NONE,
"raw": _socket.IPPROTO_RAW,
"ipv4": _socket.IPPROTO_IPV4,
"ipv6": _socket.IPPROTO_IPV6,
"esp": _socket.IPPROTO_ESP,
"fragment": _socket.IPPROTO_FRAGMENT,
"nd": _socket.IPPROTO_ND,
"icmpv6": _socket.IPPROTO_ICMPV6,
"routing": _socket.IPPROTO_ROUTING,
"pup": _socket.IPPROTO_PUP, #http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=21918
"ggp": _socket.IPPROTO_GGP, #http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=21918
})
for proto_name, good_val in proto_map.iteritems():
temp_val = _socket.getprotobyname(proto_name)
self.assertEqual(temp_val, good_val)
#negative cases
bad_list = ["", "blah", "i"]
for name in bad_list:
self.assertRaises(_socket.error, _socket.getprotobyname, name)
示例5: test_inet_ntop
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def test_inet_ntop(self):
'''Tests _socket.inet_ntop'''
#negative
self.assertRaises(_socket.error, _socket.inet_ntop, _socket.AF_INET, "garbage dkfjdkfjdkfj")
示例6: test_inet_pton
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def test_inet_pton(self):
'''Tests _socket.inet_pton'''
#sanity
_socket.inet_pton(_socket.AF_INET, "127.0.0.1")
#negative
self.assertRaises(_socket.error, _socket.inet_pton, _socket.AF_INET, "garbage dkfjdkfjdkfj")
示例7: do_read
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def do_read(self):
try:
client_socket, address = self.socket.accept()
except _socket.error as err:
if err.args[0] == EWOULDBLOCK:
return
raise
sockobj = socket(_sock=client_socket)
if PYPY:
client_socket._drop()
return sockobj, address
示例8: _tcp_listener
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def _tcp_listener(address, backlog=50, reuse_addr=None, family=_socket.AF_INET):
"""A shortcut to create a TCP socket, bind it and put it into listening state."""
sock = socket(family=family)
if reuse_addr is not None:
sock.setsockopt(_socket.SOL_SOCKET, _socket.SO_REUSEADDR, reuse_addr)
try:
sock.bind(address)
except _socket.error as ex:
strerror = getattr(ex, 'strerror', None)
if strerror is not None:
ex.strerror = strerror + ': ' + repr(address)
raise
sock.listen(backlog)
sock.setblocking(0)
return sock
示例9: _udp_socket
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def _udp_socket(address, backlog=50, reuse_addr=None, family=_socket.AF_INET):
# we want gevent.socket.socket here
sock = socket(family=family, type=_socket.SOCK_DGRAM)
if reuse_addr is not None:
sock.setsockopt(_socket.SOL_SOCKET, _socket.SO_REUSEADDR, reuse_addr)
try:
sock.bind(address)
except _socket.error as ex:
strerror = getattr(ex, 'strerror', None)
if strerror is not None:
ex.strerror = strerror + ': ' + repr(address)
raise
return sock
示例10: __init__
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def __init__(self, hub, count):
self.count = count
self.values = []
self.error = None
self.waiter = Waiter(hub)
示例11: __call__
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def __call__(self, source):
self.count -= 1
if source.exception is None:
self.values.append(source.value)
else:
self.error = source.exception
if self.count <= 0:
self.waiter.switch()
示例12: _resolve_special
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def _resolve_special(hostname, family):
if hostname == '':
result = getaddrinfo(None, 0, family, SOCK_DGRAM, 0, AI_PASSIVE)
if len(result) != 1:
raise error('wildcard resolved to multiple address')
return result[0][4][0]
return hostname
示例13: _formatinfo
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def _formatinfo(self):
if hasattr(self, 'socket'):
try:
fileno = self.socket.fileno()
except Exception as ex:
fileno = str(ex)
result = 'fileno=%s ' % fileno
else:
result = ''
try:
if isinstance(self.address, tuple) and len(self.address) == 2:
result += 'address=%s:%s' % self.address
else:
result += 'address=%s' % (self.address, )
except Exception as ex:
result += str(ex) or '<error>'
handle = self.__dict__.get('handle')
if handle is not None:
fself = getattr(handle, '__self__', None)
try:
if fself is self:
# Checks the __self__ of the handle in case it is a bound
# method of self to prevent recursivly defined reprs.
handle_repr = '<bound method %s.%s of self>' % (
self.__class__.__name__,
handle.__name__,
)
else:
handle_repr = repr(handle)
result += ' handle=' + handle_repr
except Exception as ex:
result += str(ex) or '<error>'
return result
示例14: is_fatal_error
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def is_fatal_error(self, ex):
return isinstance(ex, _socket.error) and ex.args[0] in self.fatal_errors
示例15: test_getprotobyname
# 需要導入模塊: import _socket [as 別名]
# 或者: from _socket import error [as 別名]
def test_getprotobyname(self):
'''Tests _socket.getprotobyname'''
#IP and CPython
proto_map = {
"icmp": _socket.IPPROTO_ICMP,
"ip": _socket.IPPROTO_IP,
"tcp": _socket.IPPROTO_TCP,
"udp": _socket.IPPROTO_UDP,
}
#supported only by IP
if is_cli:
proto_map.update(
{"dstopts": _socket.IPPROTO_DSTOPTS,
"none": _socket.IPPROTO_NONE,
"raw": _socket.IPPROTO_RAW,
"ipv4": _socket.IPPROTO_IPV4,
"ipv6": _socket.IPPROTO_IPV6,
"esp": _socket.IPPROTO_ESP,
"fragment": _socket.IPPROTO_FRAGMENT,
"nd": _socket.IPPROTO_ND,
"icmpv6": _socket.IPPROTO_ICMPV6,
"routing": _socket.IPPROTO_ROUTING,
"pup": _socket.IPPROTO_PUP, #http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=21918
"ggp": _socket.IPPROTO_GGP, #http://ironpython.codeplex.com/WorkItem/View.aspx?WorkItemId=21918
})
for proto_name, good_val in proto_map.items():
temp_val = _socket.getprotobyname(proto_name)
self.assertEqual(temp_val, good_val)
#negative cases
bad_list = ["", "blah", "i"]
for name in bad_list:
self.assertRaises(_socket.error, _socket.getprotobyname, name)