我在玩shadowsocks软件,并试图使自动添加和删除功能正常工作,它调用正常,但在下一次调用中我得到错误socket.error: [Errno 98] Address already in use
import socket
cli = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM)
cli.bind('/tmp/client.sock') # address of the client
cli.connect('/var/run/shadowsocks-manager.sock') # address of Shadowsocks manager
cli.send(b'ping')
print(cli.recv(1506)) # You'll receive 'pong'
cli.send(b'add: {"server_port":8001, "password":"7cd308cc059"}')
print(cli.recv(1506)) # You'll receive 'ok'
有没有可能让它关闭套接字,或者让它重用现有的套接字?你知道吗
从终端的外壳下方尝试
rm -rf /var/run/shadowsocks-manager.sock /tmp/client.sock
我认为询问者不想删除服务器套接字,只想删除客户端套接字。你知道吗
从控制台,这应该足够了:
但您也可以在脚本顶部自动执行此操作:
Relevant Github issue
改进的实施将:
/tmp/ssclient.sock.$PID
)try - finally
,这样在进程结束时它总是删除/取消链接文件。你知道吗相关问题 更多 >
编程相关推荐