对于UNIX套接字; socket.acept()
将返回socket,()
。即:一个空元组。
例如,您可以通过查看socket.fileno()
来获得有关“客户端”套接字的一些信息。
例如与修改echoserverunix.py:
$ python examples/echoserverunix.py
<registered[*] (<Debugger/* 19377:MainThread (queued=0) [S]>, <EchoServer/server 19377:MainThread (queued=2) [R]>)>
<started[server] (<EchoServer/server 19377:MainThread (queued=1) [R]>)>
<registered[select] (<Select/select 19377:MainThread (queued=0) [S]>, <EchoServer/server 19377:MainThread (queued=2) [R]>)>
<ready[server] (<EchoServer/server 19377:MainThread (queued=1) [R]>, ('/tmp/test.sock', None))>
<_read[server] (<socket._socketobject object at 0x7fa4c0b8a210>)>
<connect[server] (<socket._socketobject object at 0x7fa4c0b8a1a0>)>
<socket._socketobject object at 0x7fa4c0b8a1a0>
6
()
按照accept()
手册页hwoever:
返回值
成功时,这些系统调用返回一个非负整数,它是接受的套接字的描述符为 。出错时,返回-1,并适当设置 errno。
因此,在C级别,您将获取Python创建socket
对象的“文件描述符”。但是,除了文件描述符以外,没有客户端连接的对等地址或路径。