Connecting to ClientStorage using a Windows machine
Closed this issue · 4 comments
I have ZEO running on a Windows machine. It seems to be running fine, as far as I can tell.
I have another Windows machine that wants to connect to the ZEO server and access the ZODB database that is being served by that server.
I am using the following lines of code:
from ZODB import DB
from ZEO import ClientStorage
storage = ClientStorage.ClientStorage(the_ip_address_of_the_server, the_port_of_the_server)
db = DB(storage)
connection = db.open()
root = connection.root()
Unfortunately, I get an error on the 3rd line of code:
storage = ClientStorage.ClientStorage(the_ip_address_of_the_server, the_port_of_the_server)
The error is:
ValueError: Unix sockets are not available on Windows
What is happening here? Does using ClientStorage only function properly on Unix machines? This doesn't seem right. Any advice?
Both the server and the client computers have ZEO 5.2.3 and ZODB 5.6.0 installed.
The ZEO configuration file looks like the following:
<zeo>
address ip.ip.ip.ip:8090
</zeo>
<filestorage>
path C:/zeo_server/my_database_filename.fs
</filestorage>
When I run the ZEO server, the output is the following:
c:\zeo_server>runzeo -C zeo_server.config
------
2021-08-23T05:05:39 INFO ZEO.runzeo (10436) opening storage '1' using FileStorage
------
2021-08-23T05:05:40 INFO ZEO.StorageServer StorageServer created RW with storages: 1:RW:C:/zeo_server/my_database_filename.fs
------
2021-08-23T05:05:40 INFO ZEO.asyncio.server listening on ('ip.ip.ip.ip', 8090)
Both of the following lines of code produce the ValueError that I mentioned above:
storage = ClientStorage.ClientStorage('ip.ip.ip.ip:8090')
storage = ClientStorage.ClientStorage('ip.ip.ip.ip', 8090)
Changing it to be in tuple form worked. Thank you for your help!