You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want to connect RPCClient that uses JSONRPCProtocol and HttpWebSocketClientTransport.
I have installed everything using pip install tinyrpc[websocket]
And then created minimal example
from tinyrpc.client import RPCClient
from tinyrpc.protocols.jsonrpc import JSONRPCProtocol
from tinyrpc.transports.websocketclient import HttpWebSocketClientTransport
from tinyrpc.transports import ClientTransport
def jsonRpcClientProxy(ip, port, one_way=False):
url = "http://" + str(ip) + ":" + str(port)
print(url)
client = RPCClient(JSONRPCProtocol(), HttpWebSocketClientTransport(url))
return client.get_proxy(one_way=one_way)
When I call jsonRpcClientProxy I get
File "XX.py", line 9, in jsonRpcClientProxy client = RPCClient(JSONRPCProtocol(), HttpWebSocketClientTransport(url)) File "YY/venv/lib/python3.8/site-packages/tinyrpc/transports/websocketclient.py", line 25, in __init__ self.ws = websocket.create_connection(self.endpoint, **kwargs) AttributeError: module 'geventwebsocket' has no attribute 'create_connection'
Is this some library mismatch?
The text was updated successfully, but these errors were encountered:
I've personally never used websockets; this code was already part of tinyrpc when I took over.
However checking the code I believe you are including the wrong dependencies.
Try pip install tinyrpc[httpclient] instead of pip install tinyrpc[websocket].
'http' includes the package websocket-client which does provide a create_connection method.
It looks like pip install tinyrpc[websocket] is used only when creating a websocket based server.
I'm not sure that still works though as the gevent-websocket package it fetches from pypi hasn't been updated in 5 years.
If you have the time and knowledge I would greatly appreciate if you could verify that the websocket server still works with python 3.
I want to connect RPCClient that uses JSONRPCProtocol and HttpWebSocketClientTransport.
I have installed everything using
pip install tinyrpc[websocket]
And then created minimal example
When I call jsonRpcClientProxy I get
File "XX.py", line 9, in jsonRpcClientProxy client = RPCClient(JSONRPCProtocol(), HttpWebSocketClientTransport(url)) File "YY/venv/lib/python3.8/site-packages/tinyrpc/transports/websocketclient.py", line 25, in __init__ self.ws = websocket.create_connection(self.endpoint, **kwargs) AttributeError: module 'geventwebsocket' has no attribute 'create_connection'
Is this some library mismatch?
The text was updated successfully, but these errors were encountered: