It should be no problem to send an image via sockets in C.
Here is a tutorial for how to use sockets on Windows:
Winsock tutorial – Socket programming in C on windows[
^]
An image, or any data stored as a file, can be seen as a stream of binary data.
Hence, you can easily read the contents of any file into a buffer and send and receive the buffer over TCP/IP.
Use fopen and fread on the sending side and on the receiving side fopen and fwrite.
There should be plenty of examples out there for how to read and write binary files.
[UPDATE]
As the OP has stated that Linux is used, I add some links for sockets on Linux as well.
Sockets Tutorial[
^]
Socket programming in C on Linux – tutorial[
^]
Networking and Socket programming tutorial in C[
^]