Well, you are starting off from the wrong basis here.
A TCP server (in fact a client and server) is implemented in the kernel (on WIndows as TCPIP.sys) and supports am interface called TDI (on older Windows OSs and called something else on newer ones). TDI transports across the IO manager (Kernel to USer mode), providing sockets in the user mode for applications to use.
So what you need are two apps one that opens a socket and sends a bmp file, and another that waits on a socket and can render that bmp file to the screen.
(You can also not directly display UI stuff from the kernel so the stock TCP kernel driver would never be able to display a bmp)
If you really wanted to implement a user mode TCP server/client module then the question is why, and the problem is how you are going to send IP packets to the network card. And if you wanted to send Ethernet packets to the network card you would need to implement IP in user mode too. And if you wanted to do that you would need to write a network driver for your card with a interface accessible to the IO manager that you could open in user mode to get those Ethernet packets to it. All in all a massive and complex problem, so just use sockets, its what they are made for, and made by a lot of very clever people who understood the network stack and provided it for people like you to use.