我试图为p2p通信设置套接字。我发现了这段代码,但我很难理解代码。什么是SOL_SOCKET,还有SOL_REUSE?
有人可以帮我查看这段代码吗?
#!/usr/bin/env python
import socket, sys
self_broken = False
def wait(c):
print('waiting...')
c.send('waiting')
broken = True
while broken:
status = c.recv(1024)
if status == 'working':
print(status)
if self_broken:
c.send('broken')
else:
c.send('starting')
broken = False
c.close()
def main():
s = socket.socket()
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
host, port = socket.gethostname(), 10001
s.bind((host, port))
s.listen(1)
while True:
c, addr = s.accept()
status = c.recv(1024)
print(addr[0] + ':' + str(addr[1]) + ' > ' + status)
if status == 'broken':
wait(c)
else:
print(status)
c.close()
s.close()
main()
我找到了这个解释,但它适用于C,它是否也适用于Python? This is for C, is it the same for Python?
编辑: 任何人都可以告诉med什么是' c'呢?它在等待(c),c.send和c.close。
答案 0 :(得分:0)
SOL_SOCKET -定义协议级别(在此为套接字级别)。由整数常量SOL_SOCKET表示。