Websocket Ping/Pong not working?

Hello,

I tried to use aiohttp as a websocket client. I need to implement a ping/pong mechanism to keep my client from disconnecting… I tried the following code (as a test):

import asyncio, uvloop, aiohttp

async def main():
    async with aiohttp.ClientSession() as session:
        async with session.ws_connect("ws://localhost:8080/ws") as ws:
            async for msg in ws:
                print(msg.type)
                if msg.type == aiohttp.WSMsgType.PING:
                    print("PING Received")
                elif msg.type == aiohttp.WSMsgType.PONG:
                    print("PONG Received")
            else:
                print(msg.data)


if __name__ == "__main__":
    uvloop.install()
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

But for some strange reason when I try to connect to a server that sends Pings/Pongs periodically I don’t receive them (meaning I don’t get a message printed) or they don’t get noticed ???

Is there something i am missing or did I do something wrong ?

If u need more information about the problem please ask.

Thanks to everyone who responds :slight_smile: