I am writing an app that connects to a media server. This media server communicates its events to me via socket for which I will then have to operate on my interfaces. I was wondering what was the best way to stay connected to this socket port and listen for events and how to notify if it disconnects, and how to reconnect right after. Also I have a second problem, the media server communicates the progress of a song (seconds) to me via an API Rest call. IN the moment a song is playing I should make a call per second to get back the seconds of progress. While it doesn't seem like a very elegant way to me, what do you think is the best way to fix this in xamarin? Thanks so much