<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
      <title>004.03.Introduction-to-Sockets - EmbLogic</title>
      <link>https://www.emblogic.com/forum/categories/004-03-introduction-to-sockets/feed.rss</link>
      <pubDate>Thu, 13 Aug 26 20:14:37 +0530</pubDate>
         <description>004.03.Introduction-to-Sockets - EmbLogic</description>
   <language>en-CA</language>
   <atom:link href="/forum/discussions/feed.rss" rel="self" type="application/rss+xml" />
		<item>
			<title>Termux</title>
			<link>https://www.emblogic.com/forum/discussion/1977/termux</link>
			<pubDate>Wed, 12 Feb 2025 20:45:33 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1977@/forum/discussions</guid>
			<description><![CDATA[Use Termux for testing network applications.<div>The client would be build and executed on termux on andriod device.</div>]]></description>
		</item>
		<item>
			<title>1. Describe the difference between connection-oriented and connectionless communication.</title>
			<link>https://www.emblogic.com/forum/discussion/1960/1-describe-the-difference-between-connection-oriented-and-connectionless-communication-</link>
			<pubDate>Sat, 12 Oct 2024 06:11:30 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1960@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>1.</strong></span><strong> Describe the difference between connection-oriented and connectionless communication. How does it affect network application design?</strong></span></span></span></h3><div><span><span><span>Explain how connection-based (e.g., TCP) vs connectionless (e.g., UDP) impacts the way applications are built, especially for data reliability.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>2. What are sockets in network programming</title>
			<link>https://www.emblogic.com/forum/discussion/1959/2-what-are-sockets-in-network-programming</link>
			<pubDate>Sat, 12 Oct 2024 06:11:14 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1959@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>2.</strong></span><strong> What are sockets in network programming, and how are they used to facilitate communication between systems?</strong></span></span></span></h3><div><span><span><span>Explain: Basic understanding of socket programming concepts.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>3. Explain the purpose of the `bind()` system call in socket programming.</title>
			<link>https://www.emblogic.com/forum/discussion/1958/3-explain-the-purpose-of-the-bind-system-call-in-socket-programming-</link>
			<pubDate>Sat, 12 Oct 2024 06:10:57 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1958@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>3.</strong></span><strong> Explain the purpose of the `bind()` system call in socket programming. In which scenarios would a client application need to use `bind()`?</strong></span></span></span></h3><div><span><span><span>Focus: Knowledge of `bind()` in both server and client contexts.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>4. How does the `select()` function help manage multiple socket connections in a server?</title>
			<link>https://www.emblogic.com/forum/discussion/1957/4-how-does-the-select-function-help-manage-multiple-socket-connections-in-a-server</link>
			<pubDate>Sat, 12 Oct 2024 06:10:42 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1957@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>4.</strong></span><strong> How does the `select()` function help manage multiple socket connections in a server?</strong></span></span></span></h3><div><span><span><span>Focus: Multiplexing, non-blocking I/O, handling multiple clients in a scalable server.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>5. What are the key differences between `send()` and `sendto()`?</title>
			<link>https://www.emblogic.com/forum/discussion/1956/5-what-are-the-key-differences-between-send-and-sendto</link>
			<pubDate>Sat, 12 Oct 2024 06:10:28 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1956@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>5.</strong></span><strong> What are the key differences between `send()` and `sendto()`? When would you use each in network programming?</strong></span></span></span></h3><div><span><span><span>Focus: Usage of `send()` for connection-oriented (TCP) and `sendto()` for connectionless (UDP) communication.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>6. In the context of raw sockets, why might you need to use them</title>
			<link>https://www.emblogic.com/forum/discussion/1955/6-in-the-context-of-raw-sockets-why-might-you-need-to-use-them</link>
			<pubDate>Sat, 12 Oct 2024 06:10:11 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1955@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>6.</strong></span><strong> In the context of raw sockets, why might you need to use them, and what are the potential risks associated with raw socket programming?</strong></span></span></span></h3><div><span><span><span>Focus: Low-level network access using raw sockets and the associated security or stability risks.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>7. What is the purpose of the `recvfrom()` system call, and how is it different from `recv()`?</title>
			<link>https://www.emblogic.com/forum/discussion/1954/7-what-is-the-purpose-of-the-recvfrom-system-call-and-how-is-it-different-from-recv</link>
			<pubDate>Sat, 12 Oct 2024 06:09:47 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1954@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>7.</strong></span><strong> What is the purpose of the `recvfrom()` system call, and how is it different from `recv()`?</strong></span></span></span></h3><div><span><span><span>Focus: Understanding of the different types of socket calls, particularly for datagram (UDP) vs stream (TCP) communication.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>8. Describe the process of converting an IP address from human-readable format to binary format and</title>
			<link>https://www.emblogic.com/forum/discussion/1953/8-describe-the-process-of-converting-an-ip-address-from-human-readable-format-to-binary-format-and</link>
			<pubDate>Sat, 12 Oct 2024 06:09:33 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1953@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>8.</strong></span><strong> Describe the process of converting an IP address from human-readable format to binary format and vice versa. Which functions in Linux are used for this conversion?</strong></span></span></span></h3><div><span><span><span>Focus: Use of `inet_pton()` and `inet_ntop()` for address conversion between presentation and network formats.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>9. What are some common network debugging tools available in Linux?</title>
			<link>https://www.emblogic.com/forum/discussion/1952/9-what-are-some-common-network-debugging-tools-available-in-linux</link>
			<pubDate>Sat, 12 Oct 2024 06:09:13 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1952@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>9.</strong></span><strong> What are some common network debugging tools available in Linux? How would you use them to troubleshoot network issues?</strong></span></span></span></h3><div><span><span><span>Focus: Knowledge of tools like `tcpdump`, `netstat`, `ss`, `traceroute`, `ping`, `Wireshark`, and their practical application in debugging.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>10. Explain what a blocking socket is.</title>
			<link>https://www.emblogic.com/forum/discussion/1951/10-explain-what-a-blocking-socket-is-</link>
			<pubDate>Sat, 12 Oct 2024 06:08:58 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1951@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>10.</strong></span><strong> Explain what a blocking socket is. How can you make a socket non-blocking, and why might you need to do that?</strong></span></span></span></h3><div><span><span><span>Focus: Differentiation between blocking and non-blocking sockets and how to manage I/O in different situations.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>11. In Linux, what is the purpose of the `fcntl()` system call, and how can it be used in network</title>
			<link>https://www.emblogic.com/forum/discussion/1950/11-in-linux-what-is-the-purpose-of-the-fcntl-system-call-and-how-can-it-be-used-in-network</link>
			<pubDate>Sat, 12 Oct 2024 06:08:32 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1950@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>11.</strong></span><strong> In Linux, what is the purpose of the `fcntl()` system call, and how can it be used in network programming?</strong></span></span></span></h3><div><span><span><span>Focus: Use of `fcntl()` for setting socket attributes, especially non-blocking modes.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>12. How would you handle errors in a socket-based program?</title>
			<link>https://www.emblogic.com/forum/discussion/1949/12-how-would-you-handle-errors-in-a-socket-based-program</link>
			<pubDate>Sat, 12 Oct 2024 06:08:12 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1949@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>12.</strong></span><strong> How would you handle errors in a socket-based program? What are some common socket error codes, and how do you check for them?</strong></span></span></span></h3><div><span><span><span>Focus: Error-handling mechanisms using `errno`, `perror()`, and `strerror()`, and common socket-related error codes.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>13. What is the purpose of the `listen()` system call, and what role does the `backlog` parameter</title>
			<link>https://www.emblogic.com/forum/discussion/1948/13-what-is-the-purpose-of-the-listen-system-call-and-what-role-does-the-backlog-parameter</link>
			<pubDate>Sat, 12 Oct 2024 06:07:53 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1948@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>13. </strong></span><strong>What is the purpose of the `listen()` system call, and what role does the `backlog` parameter play in server socket programming?</strong></span></span></span></h3><div><span><span><span>Focus: Understanding how to manage incoming connections and what the `backlog` parameter controls in a multi-client server.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>14. Describe the role of the `accept()` system call in a server application.</title>
			<link>https://www.emblogic.com/forum/discussion/1947/14-describe-the-role-of-the-accept-system-call-in-a-server-application-</link>
			<pubDate>Sat, 12 Oct 2024 06:07:29 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1947@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>14.</strong></span><strong> Describe the role of the `accept()` system call in a server application. How does it differ from `connect()` on the client side?</strong></span></span></span></h3><div><span><span><span>Focus: Deep understanding of how server-side `accept()` and client-side `connect()` work in establishing communication.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>15. What is a UNIX domain socket, and how does it differ from an Internet domain socket?</title>
			<link>https://www.emblogic.com/forum/discussion/1946/15-what-is-a-unix-domain-socket-and-how-does-it-differ-from-an-internet-domain-socket</link>
			<pubDate>Sat, 12 Oct 2024 06:07:09 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1946@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>15.</strong></span><strong> What is a UNIX domain socket, and how does it differ from an Internet domain socket? When would you use a UNIX domain socket instead of an IP-based socket?</strong></span></span></span></h3><div><span><span><span>Focus: Local inter-process communication (IPC) using `AF_UNIX` vs network communication using `AF_INET`.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>16. What is the role of `getaddrinfo()` in network programming?</title>
			<link>https://www.emblogic.com/forum/discussion/1945/16-what-is-the-role-of-getaddrinfo-in-network-programming</link>
			<pubDate>Sat, 12 Oct 2024 06:06:49 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1945@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>16.</strong></span><strong> What is the role of `getaddrinfo()` in network programming? Why is it preferred over older functions like `gethostbyname()`?</strong></span></span></span></h3><div><span><span><span>Focus: Modern address resolution techniques and their advantages, including support for both IPv4 and IPv6.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>17. How would you implement a basic client-server model where the server handles multiple clients si</title>
			<link>https://www.emblogic.com/forum/discussion/1944/17-how-would-you-implement-a-basic-client-server-model-where-the-server-handles-multiple-clients-si</link>
			<pubDate>Sat, 12 Oct 2024 06:06:30 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1944@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>17.</strong></span><strong> How would you implement a basic client-server model where the server handles multiple clients simultaneously? What methods would you use for scalability?</strong></span></span></span></h3><div><span><span><span>Focus: Multiplexing techniques (`select()`, `poll()`, `epoll()`), threading, or forking to handle multiple clients.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>18. Explain the difference between a multicast and a broadcast in network programming.</title>
			<link>https://www.emblogic.com/forum/discussion/1943/18-explain-the-difference-between-a-multicast-and-a-broadcast-in-network-programming-</link>
			<pubDate>Sat, 12 Oct 2024 06:06:10 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1943@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>18.</strong></span><strong> Explain the difference between a multicast and a broadcast in network programming. How would you implement each using sockets?</strong></span></span></span></h3><div><span><span><span>Focus: Difference in scope and usage between broadcasting (sending to all devices in a network) and multicasting (sending to a group of devices).</span></span></span></div>]]></description>
		</item>
		<item>
			<title>19. What are some strategies for improving the performance of a networked application?</title>
			<link>https://www.emblogic.com/forum/discussion/1942/19-what-are-some-strategies-for-improving-the-performance-of-a-networked-application</link>
			<pubDate>Sat, 12 Oct 2024 06:05:52 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1942@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span>19.</span> What are some strategies for improving the performance of a networked application? How would you optimize socket communication in high-performance systems?</span></span></span></h3><div><span><span><span>Focus: Techniques like reducing latency with `TCP_NODELAY`, adjusting buffer sizes, using non-blocking I/O, and optimizing the use of `select()` or `epoll()`.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>20. What is the purpose of setting socket options with `setsockopt()`?</title>
			<link>https://www.emblogic.com/forum/discussion/1941/20-what-is-the-purpose-of-setting-socket-options-with-setsockopt</link>
			<pubDate>Sat, 12 Oct 2024 06:05:32 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1941@/forum/discussions</guid>
			<description><![CDATA[<h3><span><span><span><span><strong>20. </strong></span><strong>What is the purpose of setting socket options with `setsockopt()`? Can you provide examples of commonly used socket options for tuning network performance or behavior?</strong></span></span></span></h3><div><span><span><span>Focus: Use of `setsockopt()` to control socket behavior, including options like `SO_REUSEADDR`, `SO_RCVBUF`, `SO_SNDBUF`, and `TCP_NODELAY`.</span></span></span></div>]]></description>
		</item>
		<item>
			<title>Issues, queries and suggestions. 03.Introduction-to-Sockets</title>
			<link>https://www.emblogic.com/forum/discussion/1940/issues-queries-and-suggestions-03-introduction-to-sockets</link>
			<pubDate>Tue, 08 Oct 2024 12:40:44 +0530</pubDate>
			<dc:creator>pravjot</dc:creator>
			<guid isPermaLink="false">1940@/forum/discussions</guid>
			<description><![CDATA[<span><span style="font-family: Georgia; color: #666666; font-size: large;">Issues, queries and suggestions related to&nbsp;</span></span><div><span style="font-family: Georgia; color: #666666; font-size: large;"><span><i><b>03.Introduction-to-Sockets</b></i></span></span></div><div><span style="font-family: Georgia; color: #666666; font-size: large;"><span><i>Should be put here...</i></span></span></div>]]></description>
		</item>
   </channel>
</rss>