Detect cause of disconnections

In a mobile multiplayer game, in the event of a disconnection, I would like to give a victory to the player that was not disconnected.

I’m doing multiple tests like starting a basic game and connecting them with the NetworkManagerGUI. If I closes the host player, the other player receive something like: lost connection from the server.

I tried the same test, but this time I closed the client’s WiFi and still received : lost connection from the server.

Is it even possible to know the difference? (between a disconnection and a connection drop)
Is it possible in Peers-to-peers to know who really disconnected and be fair to players?

Maybe I need to check the reachability when a disconnection occurs, so I know who really lost the connection?
But what if both of them are on the same network and it fails?

I suppose this needs to use a server that know which player left the game and what I want to do is just not possible in p2p?

If someone force closes the game or the connection drops, the same thing happens. The data stops being received and the server will stop receiving acknowledgments. Usually if someone rage quits, they’ll hit Alt-F4 or just use the in-game menu to quit. If they use the in-game menu, that should be easy enough to the point where you can send the server a goodbye message.

If they force close the game, you might be able to use an event like OnExit() to send the last second goodbye message but include something in it that tells the server that they rage quit. Outside of that though, I’d think Unity would see both a force quit and connection drop as the same thing, because the same thing basically happens with both.