gpt4 book ai didi

python - ZODB/ZEO 。从客户端连接到服务器

转载 作者:搜寻专家 更新时间:2023-10-30 19:48:18 27 4
gpt4 key购买 nike

基本上我可以很好地使用 ZODB。然而,ZEO 教程都非常困惑。

据我了解,您可以通过进入我的目录并输入命令提示符来启动服务器

python runzeo.py -C zeo.config

我的zeo.config文件如下

<zeo>
address localhost:8090
</zeo>

<filestorage>
path C:\\Anaconda\\Lib\\site-packages\\ZEO\\var\\tmp\\Data.fs
</filestorage>

<eventlog>
<logfile>
path C:\\Anaconda\\Lib\\site-packages\\ZEO\\var\\tmp\\zeo.log
format %(asctime)s %(message)s
</logfile>
</eventlog>

当我运行它时,日志文件中充满了

2014-07-02T14:49:15 (1948) opening storage '1' using FileStorage
2014-07-02T14:49:15 StorageServer created RW with storages: 1:RW:C:\\Anaconda\\Lib\\site-packages\\ZEO\\var\\tmp\\Data.fs
2014-07-02T14:49:15 (1948) listening on ('localhost', 8090)

现在,当我尝试让客户向数据库中添加一些随机内容并在每一行后打印以查看其运行情况时:

from ZEO.ClientStorage import ClientStorage
from ZODB import DB
import transaction


print "starting"
storage=ClientStorage(('localhost',8090))
print "storage opened"
db=DB(storage)
conn=db.open()
print "connection opened"
root=conn.root()
print "established connection"
root['letters']=['a','b','c']
print "added values"
transaction.commit()
print "transaction done"
root.close()
print "closed"

我的代码只打印“starting”,没有抛出错误消息,所以我假设它卡在了 storage = ClientStorange(('localhost',8090)) 行,我的 Data.fs 文件保持不变。我不知道哪里出了问题,我已经查阅了所有教程。

我在 Windows 上使用 Python 2.7 并从 pip 安装了 ZEO/ZODB,所以我假设它们都是最新版本,这很有帮助。

任何帮助或指向不同的面向对象的数据库(具有多进程访问)的指针将不胜感激。

谢谢大家

最佳答案

找到了我自己问题的答案。似乎在 Windows 中使用 localhost 的实现存在错误。 (在同一台机器上运行服务器和客户端)

源代码需要编辑:

I have the same problem (can't connect to ZEO Server) using ZODB/ZEO 4.0 with Python 2.7.6 on Windows.

The proposed solution (changing line 446 of ZEO/zrpc/client.py) works for me, so why not incorporate the patch into the 4.0 release too?

- socket.getaddrinfo(host or 'localhost', port)
+ socket.getaddrinfo(host or 'localhost', port, 0, socket.SOCK_STREAM)"

来自 https://bugs.launchpad.net/zodb/+bug/1004513

关于python - ZODB/ZEO 。从客户端连接到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24523713/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com