Files
nym/clients/desktop/examples/python-examples/websocket/textsend.py
T
Jędrzej Stuczyński 57c43a1f6b Feature/client socket adjustments (#212)
* Changed default listening port to something slightly more meaningful

* Removed TCP socket and made websocket the default option (as opposed to 'None')

* Updated template

* Updated ReceivedBuffer to allow direct message forwarding

* ignoring vscode directory

* Push messages mechanism for websocket client-clients

* Removed flawed chunking example

* ... but added bunch of websocket examples in return!

* Moves js example directory

* Cargo fmt

* Removed old listener code
2020-05-04 17:07:27 +01:00

37 lines
1.1 KiB
Python

import asyncio
import base58
import json
import websockets
self_address_request = json.dumps({
"type": "selfAddress"
})
async def send_file():
message = "Hello Nym!"
uri = "ws://localhost:1977"
async with websockets.connect(uri) as websocket:
await websocket.send(self_address_request)
self_address = json.loads(await websocket.recv())
print("our address is: {}".format(self_address["address"]))
text_send = json.dumps({
"type": "send",
"message": message,
"recipient": self_address["address"]
})
print("sending '{}' over the mix network...".format(message))
await websocket.send(text_send)
msg_send_confirmation = json.loads(await websocket.recv())
assert msg_send_confirmation["type"], "send"
print("waiting to receive a message from the mix network...")
received_message = await websocket.recv()
print("received {} from the mix network!".format(received_message))
asyncio.get_event_loop().run_until_complete(send_file())