Socket Programming in C

Learn how to create and work with sockets in c programming language and create networking applications using that
Rating: 4.0 out of 5 (5 ratings)
2,588 students
Socket Programming in C
Rating: 4.0 out of 5 (5 ratings)
2,588 students
what is socket programming
high level vs low level programming languages
system calls
ip protocol and header
creating sockets in c
structs in c
#include in c
typedef in c
how to include headers in c
searching through c files in c
sockaddr and sockaddr_in in c
how to create an address struct in c
how to connect to a socket in c
binding sockets in c
listen in sockets in c
accept in socket programming in c
how to create a client side socket in c
how to create a server side socket in c


  • having linux already installed on your computer,
  • be comfortable with some basic commands in c(if you don't, its okay, we will explain)
  • having some basic networking knowledge
  • having some basic familiarity with c programming


in this course first we talk about some basic concepts in computer science, we talk about what programming languages are, what c programming language is, what are headers in c, and how we could include them using #include keyword,

what are system calls would be the next sections, after that we talk about tcp/ip stack ,and how different data and headers are added to the data in each layer , and we talk about ip protocol in specific, after that we talk about sockets, that what sockets are and what is their application.

we explain about how we could create sockets in c and after that we talk about structures in c, structs are some important concepts in c, therefore we would assign a separate lecture to it, also since we know linux is open source , so for everything we expect a source code, therefore we talk how we could browse all the c files in the linux , which the kernel is actually build based upon, so we will talk about how we could search through all of these files, after this lecture we get to the next section which is the main part of this course.

in this section first we talk about address structures , and sockaddr and also sockaddr_in, after that we explain about what endianness is , after that we talk about all the methods and functions which invoke system calls causing the creation of sockets, connection sockets to a server at the client side, binding sockets to address structures at the server side, sending data from server and receiving it at the client side.

Who this course is for:

  • c programmers trying to go to next level
  • network engineers trying to implement their applications in c
  • security analysts trying to have go deeper in networking and socket programming

Course content

2 sections • 15 lectures • 1h 59m total length
  • programming languages
  • headers in c
  • system calls
  • ip protocol
  • sockets


Master of Science in Electronics engineering
mohamad gharishvandi
  • 4.3 Instructor Rating
  • 23 Reviews
  • 9,974 Students
  • 6 Courses

i have Master of Science in Electronics engineering . and for 10 years i have been studying computer science too. i have been teaching subjects like programming like python , networking concepts, cryptography , penetration testing in computer science and Analog Electronics, digital Electronics, Electrical circuits, data communication , CMOS integrated circuits , signals and systems and advanced mathematics for 4 years. i think we should learn computer science in high level first and then relate it to electronics concept by going deep in the lower level and then at last analyze them using mathematics concepts . that is why i dedicate most of my time studying these concepts to go deeper.