Bird
Raised Fist0
Computer Networksknowledge~5 mins

Socket programming basics in Computer Networks - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a socket in computer networking?
A socket is an endpoint for sending or receiving data across a computer network. It allows two programs to communicate over the internet or a local network.
Click to reveal answer
beginner
What are the two main types of sockets?
The two main types of sockets are TCP sockets, which provide reliable, connection-oriented communication, and UDP sockets, which provide faster, connectionless communication without guaranteed delivery.
Click to reveal answer
beginner
What is the role of an IP address and port number in socket programming?
An IP address identifies a device on the network, and a port number identifies a specific application or service on that device. Together, they direct data to the right place.
Click to reveal answer
intermediate
What does it mean to 'bind' a socket?
Binding a socket means assigning it a specific IP address and port number so it can listen for incoming data on that address and port.
Click to reveal answer
beginner
Explain the difference between a server socket and a client socket.
A server socket waits and listens for incoming connection requests from clients. A client socket initiates a connection to the server to communicate.
Click to reveal answer
What type of socket provides reliable, ordered communication?
ATCP socket
BUDP socket
CRaw socket
DMulticast socket
Which of the following is NOT part of a socket's address?
AIP address
BMAC address
CProtocol type
DPort number
What does the 'listen' operation do in socket programming?
AAssigns an IP address
BSends data to a client
CCloses the socket
DStarts waiting for incoming connections
Which socket type is faster but does not guarantee delivery?
ATCP socket
BStream socket
CUDP socket
DReliable socket
What is the purpose of a port number in socket programming?
ATo identify the application or service on the device
BTo identify the device on the network
CTo encrypt data
DTo route data between networks
Describe what a socket is and how it is used in network communication.
Think about how two programs talk over the internet.
You got /4 concepts.
    Explain the difference between TCP and UDP sockets and when you might use each.
    Consider reliability versus speed.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of a socket in computer networks?
      easy
      A. To enable communication between two programs over a network
      B. To store files on a server
      C. To encrypt data before sending
      D. To manage user permissions on a device

      Solution

      1. Step 1: Understand what a socket does

        A socket is an endpoint for sending or receiving data across a network connection.
      2. Step 2: Identify the main function

        Its main role is to allow two programs on different devices to communicate.
      3. Final Answer:

        To enable communication between two programs over a network -> Option A
      4. Quick Check:

        Socket = communication endpoint [OK]
      Hint: Remember sockets connect programs for data exchange [OK]
      Common Mistakes:
      • Confusing sockets with file storage
      • Thinking sockets encrypt data
      • Assuming sockets manage user permissions
      2. Which of the following is the correct order of steps in basic socket programming?
      easy
      A. Bind, create socket, listen, accept, send/receive, close
      B. Create socket, bind, listen, accept, send/receive, close
      C. Create socket, listen, bind, accept, send/receive, close
      D. Accept, create socket, bind, listen, send/receive, close

      Solution

      1. Step 1: Recall the socket programming sequence

        The correct sequence starts by creating a socket, then binding it to an address and port.
      2. Step 2: Follow the connection steps

        After binding, the server listens for connections, accepts them, then sends/receives data, and finally closes the socket.
      3. Final Answer:

        Create socket, bind, listen, accept, send/receive, close -> Option B
      4. Quick Check:

        Socket steps = create, bind, listen, accept, send/receive, close [OK]
      Hint: Remember: Create, Bind, Listen, Accept, Communicate, Close [OK]
      Common Mistakes:
      • Binding before creating socket
      • Listening before binding
      • Accepting before listening
      3. Consider this Python server code snippet:
      import socket
      s = socket.socket()
      s.bind(('localhost', 12345))
      s.listen(1)
      conn, addr = s.accept()
      data = conn.recv(1024)
      print(data.decode())
      conn.close()
      s.close()

      What will be printed if the client sends the message "Hello"?
      medium
      A. Error: decode() not found
      B. b'Hello'
      C. Hello
      D. None

      Solution

      1. Step 1: Understand data reception

        The server receives bytes data from the client using conn.recv(1024).
      2. Step 2: Decode bytes to string

        The data.decode() converts bytes to a readable string, so printing it shows "Hello".
      3. Final Answer:

        Hello -> Option C
      4. Quick Check:

        Bytes decoded to string = Hello [OK]
      Hint: recv() returns bytes; decode() converts to string [OK]
      Common Mistakes:
      • Expecting bytes output without decoding
      • Assuming decode() causes error
      • Thinking recv() returns None
      4. Identify the error in this socket server code snippet:
      import socket
      s = socket.socket()
      s.listen(1)
      s.bind(('localhost', 12345))
      conn, addr = s.accept()
      medium
      A. Calling listen() before bind()
      B. Missing socket creation
      C. accept() called without listen()
      D. bind() called after accept()

      Solution

      1. Step 1: Check the order of socket calls

        The socket must be bound to an address before it starts listening.
      2. Step 2: Identify the incorrect sequence

        Here, listen() is called before bind(), which is incorrect and will cause an error.
      3. Final Answer:

        Calling listen() before bind() -> Option A
      4. Quick Check:

        Bind before listen [OK]
      Hint: Always bind socket before listen() [OK]
      Common Mistakes:
      • Calling listen() before bind()
      • Confusing accept() and listen() order
      • Forgetting to create socket
      5. You want to write a server that handles multiple clients one after another using sockets. Which approach correctly applies socket programming basics?
      hard
      A. Create socket, accept client without binding or listening, communicate, close socket
      B. Bind socket, create socket, listen, accept client, communicate, close socket
      C. Create socket, bind, accept client, listen, communicate, close socket
      D. Create socket, bind, listen, accept client, communicate, close client socket, then accept next client

      Solution

      1. Step 1: Understand sequential client handling

        The server must create a socket, bind it, and listen before accepting clients one by one.
      2. Step 2: Follow correct order for each client

        For each client, accept the connection, communicate, close the client socket, then accept the next client.
      3. Final Answer:

        Create socket, bind, listen, accept client, communicate, close client socket, then accept next client -> Option D
      4. Quick Check:

        Correct socket lifecycle for multiple clients = Create socket, bind, listen, accept client, communicate, close client socket, then accept next client [OK]
      Hint: Bind and listen once; accept and close per client [OK]
      Common Mistakes:
      • Accepting without binding or listening
      • Calling listen after accept
      • Binding before creating socket
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard