I'm developing a Android app, that relies heavily on network communication. And even though I can connect and send and retrieve and and and, I clearly feel that I lack architectural background knowledge on how to structure socket communication, primarily in conjunction with threading. But there seems to be no literature less than a decade old (and even these with bad reputation). Is there a good source, where theoretical in depth knowledge meets real world application? Any hints appreciated!