import asyncio
from ariadne.asgi import GraphQL
import websockets
async def websocket_server(websocket, path):
await websocket.send("Hello Ariadne!")
await websocket.close()
app = GraphQL(type_defs, query, mutation, subscription, debug=True)
loop = asyncio.get_event_loop()
server = websockets.serve(websocket_server, 'localhost', 3001)
async def start_server():
await server
try:
loop.run_until_complete(start_server())
loop.run_until_complete(app)
except KeyboardInterrupt:
server.close()
loop.run_until_complete(server.wait_closed())
finally:
loop.close()
在这个示例中,我们使用Websockets库来启动Websockets服务,并将其与Ariadne配合使用。将上述代码放入您的项目中,并使用正确的端口号和相关参数,可能会解决WebSocket连接问题。