Is it possible to create a server based on spring MVC, and to him in addition to write desktop and mobile applications?
If Yes, then what is to realize how to communicate clients and server?
If Spring MVC, the REST is the most natural way of interaction.
Or for such cases, spring is not the best choice, and it is only for web a?
First you need to understand what Spring MVC is not the whole Spring. Not even a tenth part of it.
Do I need the server to know who's knocking him?
There is no need. Get the customer to comply with the communication Protocol with the server.