peerjs-python icon indicating copy to clipboard operation
peerjs-python copied to clipboard

Required version of python and libraries?

Open andreaswatch opened this issue 5 years ago • 2 comments

First of all I would like to thank you for your effort in porting peerjs to python, this is a very interesting library!

Running the code below gives me: createDataChannel() got an unexpected keyword argument 'ordered' File "/home/pi/automations/OpenCv/lib/python3.7/site-packages/peerjs/negotiator.py", line 63, in startConnection dataConnection.label, ordered=reliable)

options = PeerOptions(
    host = HOST,
    port = PORT,
    path = PATH,
    secure = True
)

peer = Peer("myId", options)
@peer.on(PeerEventType.Open)
async def on_open(data):
    print("Open: " + data)

async def start():
    global peer
    await peer.start()
    remote = await peer.connect("remoteId")
    while True:#peer.open:
        await asyncio.sleep(3)

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(start())
    loop.run_forever()

However, removing the 'ordered' argument, gives me further exceptions, like: 'dict' object has no attribute 'constraints' (from negotiator.py #209)

So I guess that the problem might be in my python version or the installed library versions...(?) I installed these requirements in a new venv: #requirements.txt av~=8.0.0 aiortc>=0.9 websockets>=8.1 aiohttp>=3.6 pyee>=6.0 websockets>=8.1 dataclasses_json>=0.3 coloredlogs>=10.0

python --version Python 3.7.3

Could you please help to come around the problems?

andreaswatch avatar Dec 31 '20 00:12 andreaswatch

I find this library very interesting and have been looking into it a bit ,when i run your code it connects to my peerjs server. But when I insert the remote ID of the other client given from the the peerjs server I get the error message:

Traceback (most recent call last): File "test.py", line 51, in loop.run_until_complete(start()) File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_co mplete return future.result() File "test.py", line 45, in start remote = await peer.connect("79b105b3-75c1-4021-b71a-8698b8a3b978") File "/home/robert/.local/lib/python3.8/site-packages/peerjs/peer.py", line 364, in connect dataConnection = DataConnection(peer, self, options) TypeError: init() takes from 1 to 3 positional arguments but 4 were given

Any idea what could be the reason ?

snroeust avatar Jan 06 '21 18:01 snroeust

No, I'm sorry. I am still hoping for an answer to my question.

andreaswatch avatar Jan 09 '21 21:01 andreaswatch