ALL networking (at least as far as games are concerned) uses sockets - it's just a matter of how many layers there are on top of the sockets.
Also, the term "real time" is fairly worthless, because it means a lot of different things to different people. What you need for a multiplayer shooter game is low latency networking, and for that HTTP is a bad idea, partly because the HTTP protocol is optimised for text-based request/response transactions, and also because it's built on TCP which is designed for reliability at the expense of average latency. TCP can be especially bad for latency over WiFi or mobile connections because the large number of dropped packets means that other packets can get held in a queue for quite a while, when as a game developer you usually just want to get the latest data and are happy to lose occasional messages.
SignalR is technically not based on HTTP - it's really a Websocket, which uses HTTP to start the connection but then functions mostly like a standard TCP connection after that. As such, it's better than an HTTP-based approach, but still not ideal for faster-paced games.
It's not clear why you think you need "complete control" but I would recommend that you use a game-oriented protocol that is layered on top of UDP. Unity comes with one of these in the form of the LLAPI and if that isn't good enough for you, explaining the exact way in which it doesn't work for you would help us recommend something else.