本文整理匯總了Python中socket.AF_UNIX屬性的典型用法代碼示例。如果您正苦於以下問題:Python socket.AF_UNIX屬性的具體用法?Python socket.AF_UNIX怎麽用?Python socket.AF_UNIX使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類socket
的用法示例。
在下文中一共展示了socket.AF_UNIX屬性的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: __init__
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def __init__(self, addr: Union[str, tuple, socket.socket]):
"""
Args:
addr: can be /var/run/usbmuxd or (localhost, 27015)
"""
self._sock = None
if isinstance(addr, socket.socket):
self._sock = addr
return
if isinstance(addr, str):
if not os.path.exists(addr):
raise MuxError("socket unix:{} unable to connect".format(addr))
family = socket.AF_UNIX
else:
family = socket.AF_INET
self._sock = socket.socket(family, socket.SOCK_STREAM)
self._sock.connect(addr)
示例2: __init__
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def __init__(self, global_config, address = '/var/run/rtpproxy.sock', \
bind_address = None, nworkers = 1, family = socket.AF_UNIX):
#print('Rtp_proxy_client_stream.__init__', address, bind_address, nworkers, family)
if family == socket.AF_UNIX:
self.is_local = True
self.address = address
else:
self.is_local = False
self.address = self.getdestbyaddr(address, family)
self.family = family
self.wi_available = Condition()
self.wi = []
self.nworkers = nworkers
self.workers = []
for i in range(0, self.nworkers):
try:
self.workers.append(_RTPPLWorker(self))
except:
break
self.nworkers_act = i + 1
self.delay_flt = recfilter(0.95, 0.25)
示例3: test_unix_socket_creation
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def test_unix_socket_creation(caplog):
from socket import AF_UNIX, socket
with socket(AF_UNIX) as sock:
sock.bind(SOCKPATH)
assert os.path.exists(SOCKPATH)
ino = os.stat(SOCKPATH).st_ino
app = Sanic(name=__name__)
@app.listener("after_server_start")
def running(app, loop):
assert os.path.exists(SOCKPATH)
assert ino != os.stat(SOCKPATH).st_ino
app.stop()
with caplog.at_level(logging.INFO):
app.run(unix=SOCKPATH)
assert (
"sanic.root",
logging.INFO,
f"Goin' Fast @ {SOCKPATH} http://...",
) in caplog.record_tuples
assert not os.path.exists(SOCKPATH)
示例4: peer_creds
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def peer_creds(self):
if self._creds is not False:
return self._creds
# works only for unix sockets
if self.request.family != socket.AF_UNIX:
self._creds = None
return self._creds
# pid_t: signed int32, uid_t/gid_t: unsigned int32
fmt = 'iII'
creds = self.request.getsockopt(socket.SOL_SOCKET, SO_PEERCRED,
struct.calcsize(fmt))
pid, uid, gid = struct.unpack(fmt, creds)
try:
creds = self.request.getsockopt(socket.SOL_SOCKET, SO_PEERSEC,
SELINUX_CONTEXT_LEN)
context = creds.rstrip(b'\x00').decode('utf-8')
except Exception: # pylint: disable=broad-except
logger.debug("Couldn't retrieve SELinux Context", exc_info=True)
context = None
self._creds = {'pid': pid, 'uid': uid, 'gid': gid, 'context': context}
return self._creds
示例5: connect
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def connect(self):
"""Connect to the UNIX socket
"""
self._socket = socketlib.socket(
socketlib.AF_UNIX, socketlib.SOCK_STREAM
)
self._socket.settimeout(self._timeout)
try:
self._socket.connect(self.path)
except FileNotFoundError:
raise GvmError(
"Socket {path} does not exist".format(path=self.path)
) from None
except ConnectionError:
raise GvmError(
"Could not connect to socket {}".format(self.path)
) from None
示例6: select_address_family
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def select_address_family(host, port):
"""Return ``AF_INET4``, ``AF_INET6``, or ``AF_UNIX`` depending on
the host and port."""
# disabled due to problems with current ipv6 implementations
# and various operating systems. Probably this code also is
# not supposed to work, but I can't come up with any other
# ways to implement this.
# try:
# info = socket.getaddrinfo(host, port, socket.AF_UNSPEC,
# socket.SOCK_STREAM, 0,
# socket.AI_PASSIVE)
# if info:
# return info[0][0]
# except socket.gaierror:
# pass
if host.startswith("unix://"):
return socket.AF_UNIX
elif ":" in host and hasattr(socket, "AF_INET6"):
return socket.AF_INET6
return socket.AF_INET
示例7: init
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def init(self, daemon, connected_socket):
connected_socket.getpeername() # check that it is connected
if config.SSL and not isinstance(connected_socket, ssl.SSLSocket):
raise socket.error("SSL configured for Pyro but existing socket is not a SSL socket")
self.daemon = daemon
self.sock = connected_socket
log.info("starting server on user-supplied connected socket " + str(connected_socket))
sn = connected_socket.getsockname()
if hasattr(socket, "AF_UNIX") and connected_socket.family == socket.AF_UNIX:
self.locationStr = "./u:" + (sn or "<<not-bound>>")
else:
host, port = sn[:2]
if ":" in host: # ipv6
self.locationStr = "[%s]:%d" % (host, port)
else:
self.locationStr = "%s:%d" % (host, port)
self.conn = socketutil.SocketConnection(connected_socket)
示例8: testSendUnix
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def testSendUnix(self):
if not hasattr(socket, "AF_UNIX"):
pytest.skip("no unix domain sockets capability")
SOCKNAME = "test_unixsocket"
if os.path.exists(SOCKNAME):
os.remove(SOCKNAME)
ss = socketutil.create_socket(bind=SOCKNAME)
cs = socketutil.create_socket(connect=SOCKNAME)
socketutil.send_data(cs, b"foobar!" * 10)
cs.shutdown(socket.SHUT_WR)
a = ss.accept()
data = socketutil.receive_data(a[0], 5)
assert b"fooba" == data
data = socketutil.receive_data(a[0], 5)
assert b"r!foo" == data
a[0].close()
ss.close()
cs.close()
if os.path.exists(SOCKNAME):
os.remove(SOCKNAME)
示例9: _make_gevent_unix_socket
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def _make_gevent_unix_socket(self, socket_file):
# the socket file must not exist prior to bind()
if os.path.exists(socket_file):
# avoid nuking regular files and symbolic links (could be a mistype or security issue)
if os.path.isfile(socket_file) or os.path.islink(socket_file):
raise OSError(errno.EEXIST, os.strerror(errno.EEXIST), socket_file)
os.remove(socket_file)
unix_sock = WSGIServer.get_listener(socket_file, family=socket.AF_UNIX)
self.unix_socket_file = socket_file
# ensure current user and group have r/w permissions, no permissions for other users
# this way the socket can be shared in a semi-secure manner
# between the user running calibre-web and the user running the fronting webserver
os.chmod(socket_file, 0o660)
return unix_sock
示例10: create_server
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def create_server(application,
map=None,
_start=True, # test shim
_sock=None, # test shim
_dispatcher=None, # test shim
**kw # adjustments
):
"""
if __name__ == '__main__':
server = create_server(app)
server.run()
"""
adj = Adjustments(**kw)
if adj.unix_socket and hasattr(socket, 'AF_UNIX'):
cls = UnixWSGIServer
else:
cls = TcpWSGIServer
return cls(application, map, _start, _sock, _dispatcher, adj)
示例11: pickaddr
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def pickaddr(self, proto):
if proto == socket.AF_INET:
return (HOST, 0)
else:
# XXX: We need a way to tell AF_UNIX to pick its own name
# like AF_INET provides port==0.
dir = None
if os.name == 'os2':
dir = '\socket'
fn = tempfile.mktemp(prefix='unix_socket.', dir=dir)
if os.name == 'os2':
# AF_UNIX socket names on OS/2 require a specific prefix
# which can't include a drive letter and must also use
# backslashes as directory separators
if fn[1] == ':':
fn = fn[2:]
if fn[0] in (os.sep, os.altsep):
fn = fn[1:]
if os.sep == '/':
fn = fn.replace(os.sep, os.altsep)
else:
fn = fn.replace(os.altsep, os.sep)
self.test_files.append(fn)
return fn
示例12: __init__
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def __init__(self):
tcp4 = ("tcp", socket.AF_INET, socket.SOCK_STREAM)
tcp6 = ("tcp6", socket.AF_INET6, socket.SOCK_STREAM)
udp4 = ("udp", socket.AF_INET, socket.SOCK_DGRAM)
udp6 = ("udp6", socket.AF_INET6, socket.SOCK_DGRAM)
unix = ("unix", socket.AF_UNIX, None)
self.tmap = {
"all": (tcp4, tcp6, udp4, udp6, unix),
"tcp": (tcp4, tcp6),
"tcp4": (tcp4,),
"tcp6": (tcp6,),
"udp": (udp4, udp6),
"udp4": (udp4,),
"udp6": (udp6,),
"unix": (unix,),
"inet": (tcp4, tcp6, udp4, udp6),
"inet4": (tcp4, udp4),
"inet6": (tcp6, udp6),
}
self._procfs_path = None
示例13: __init__
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def __init__(self):
# The string represents the basename of the corresponding
# /proc/net/{proto_name} file.
tcp4 = ("tcp", socket.AF_INET, socket.SOCK_STREAM)
tcp6 = ("tcp6", socket.AF_INET6, socket.SOCK_STREAM)
udp4 = ("udp", socket.AF_INET, socket.SOCK_DGRAM)
udp6 = ("udp6", socket.AF_INET6, socket.SOCK_DGRAM)
unix = ("unix", socket.AF_UNIX, None)
self.tmap = {
"all": (tcp4, tcp6, udp4, udp6, unix),
"tcp": (tcp4, tcp6),
"tcp4": (tcp4,),
"tcp6": (tcp6,),
"udp": (udp4, udp6),
"udp4": (udp4,),
"udp6": (udp6,),
"unix": (unix,),
"inet": (tcp4, tcp6, udp4, udp6),
"inet4": (tcp4, udp4),
"inet6": (tcp6, udp6),
}
self._procfs_path = None
示例14: recvfd
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def recvfd(socketfd):
"""
Receive a file descriptor from a L{sendmsg} message on the given C{AF_UNIX}
socket.
@param socketfd: An C{AF_UNIX} socket, attached to another process waiting
to send sockets via the ancillary data mechanism in L{send1msg}.
@param fd: C{int}
@return: a 2-tuple of (new file descriptor, description).
@rtype: 2-tuple of (C{int}, C{bytes})
"""
ourSocket = socket.fromfd(socketfd, socket.AF_UNIX, socket.SOCK_STREAM)
data, ancillary, flags = recvmsg(ourSocket)
[(cmsgLevel, cmsgType, packedFD)] = ancillary
# cmsgLevel and cmsgType really need to be SOL_SOCKET / SCM_RIGHTS, but
# since those are the *only* standard values, there's not much point in
# checking.
[unpackedFD] = unpack("i", packedFD)
return (unpackedFD, data)
示例15: __init__
# 需要導入模塊: import socket [as 別名]
# 或者: from socket import AF_UNIX [as 別名]
def __init__(self, global_config, address = '/var/run/rtpproxy.sock', \
bind_address = None, nworkers = 1):
Rtp_proxy_client_stream.__init__(self, global_config = global_config, \
address = address, bind_address = bind_address, nworkers = nworkers, \
family = socket.AF_UNIX)