Testing with sockets
This commit is contained in:
parent
6c1cc0bf9a
commit
19cf34904f
|
@ -1,7 +1,33 @@
|
|||
from abots.helpers import generator, coroutine, infinitedict
|
||||
|
||||
from asyncio import get_event_loop, sleep, wait, Queue
|
||||
from socket import socket, timeout as sock_timeout
|
||||
from socket import AF_INET, SOCK_STREAM, SOL_SOCKET, SO_REUSEADDR
|
||||
from ssl import wrap_socket
|
||||
from time import sleep as nap
|
||||
|
||||
async def handle_client(loop, client):
|
||||
while True:
|
||||
try:
|
||||
request = await loop.sock_recv(client, 256)
|
||||
except Exception as e:
|
||||
continue
|
||||
|
||||
if request:
|
||||
message = request.decode()
|
||||
print(message)
|
||||
|
||||
await sleep(0)
|
||||
|
||||
client.close()
|
||||
|
||||
async def run_server(loop, server):
|
||||
while True:
|
||||
client, _ = await loop.sock_accept(server)
|
||||
loop.create_task(handle_client(loop, client))
|
||||
await sleep(0)
|
||||
|
||||
async def push(loop, queues):
|
||||
print("PUSH")
|
||||
while all([queue for queue in queues]):
|
||||
send = queues.get("push")
|
||||
receive = queues.get("pull")
|
||||
|
@ -70,9 +96,15 @@ async def main(loop):
|
|||
queues["push"] = Queue()
|
||||
queues["pull"] = Queue()
|
||||
|
||||
server = wrap_socket(socket(AF_INET, SOCK_STREAM))
|
||||
server.setblocking(False)
|
||||
server.settimeout(1)
|
||||
server.connect(("", 6697))
|
||||
|
||||
await queues["hook"].put(test)
|
||||
await queues["push"].put(("test", "change", None, True))
|
||||
|
||||
tasks.append(loop.create_task(handle_client(loop, server)))
|
||||
tasks.append(loop.create_task(pull(loop, queues)))
|
||||
tasks.append(loop.create_task(push(loop, queues)))
|
||||
await wait(tasks)
|
||||
|
@ -80,7 +112,21 @@ async def main(loop):
|
|||
|
||||
loop = get_event_loop()
|
||||
try:
|
||||
loop.create_task(main(loop))
|
||||
#loop.create_task(main(loop))
|
||||
#server = wrap_socket(socket(AF_INET, SOCK_STREAM))
|
||||
server = socket(AF_INET, SOCK_STREAM)
|
||||
server.setblocking(False)
|
||||
#server.settimeout(1)
|
||||
server.bind(("localhost", 10201))
|
||||
server.listen(5)
|
||||
loop.create_task(run_server(loop, server))
|
||||
loop.run_forever()
|
||||
finally:
|
||||
loop.close()
|
||||
|
||||
#server = wrap_socket(socket(AF_INET, SOCK_STREAM))
|
||||
#server.connect(("irc.tilde.chat", 6697))
|
||||
#while True:
|
||||
# print(server.recv(4096))
|
||||
# res = input("> ")
|
||||
# server.send(f"{res}\r\n".encode())
|
||||
|
|
Loading…
Reference in New Issue