How should I learn server client programming?

I’m just a beginner in java (its almost same as C++) and I’m trying to understand the concept of servers. I searched many places but still I don’t get a satisfactory answer. I want an answer of programmer’s level, rather than names of server hosting companies, cause I wanna make my own server (well, yeah I’m still learning programming, but does it matters?) I also wanna know about UE and virtual server and can I make virtual server for MMORPG in windows or if possible, in android. Its MMORPG cause there are multiple games which I wanna connect to one server only, allowing the players from different games to interact, despite the fact that they are in different games. And one more thing, I don’t have a clear concept of network (and also server) programming and I’m just unable to understand how can a server send same data to many clients at the same time. Can anyone tell me?

Unreal has a lot implemented under the hood (such as the communication between a server and a client), and you should first understand how it works, before to move on.

To get you started, I suggest you look at this video tutorial here: Blueprint Networking Tutorials - Unreal Engine

Then, here is a very useful compendium: http://cedric-neukirchen.net/Downloads/Compendium/UE4_Network_Compendium_by_Cedric_eXi_Neukirchen.pdf

Finally, don’t forget to have a look at the documentation here: Networking and Multiplayer | Unreal Engine Documentation

If you need a tutorial, recently on the Unreal Blog they have suggested this one: Unreal Engine 4 Mastery: Create Multiplayer Games with C++ in New Course from Udemy - Unreal Engine after a short overview of Multiplayer Games here: Getting Started with Unreal Multiplayer in C++ - Unreal Engine

Hope these links are useful, if you have any other questions, please don’t hesitate to ask.

Wow thanks for that answer. I have not yet seen all of them but it seems like these will clear all my curiosity. Once again, thanks!

You are very welcome.
If my reply solved your issue, you can mark it as “accepted” (answered/resolved). In this way, other people will know that this helped to resolve your issue.