
Explore socket programming in C++ on Windows, covering IPv4 and IPv6 addressing, network byte order, TCP and UDP sockets, and single and multi-client server concepts.
Explore socket programming fundamentals, where server and client programs communicate via a socket descriptor to send and receive data, and servers enable communication between clients using stream or datagram sockets.
Compare stream sockets and datagram sockets to show connection oriented TCP reliability versus connectionless UDP delivery in order, including TCP's 96 bit pseudo header and checksum.
Explore the difference between blocking and non-blocking sockets, where blocking waits for send, receive, or connect to complete, and non-blocking uses specific APIs to proceed without waiting.
In this video, you will get a brief description about the IDE, Header files and libraries to be used for socket programming on Windows.
Initialize the Windows socket API by calling startup with version 2.2 and WSADATA, load the ws2_32 library, and then use gethostname; without startup, gethostname returns -1.
Open a socket on the server or client side using the socket system call with IPv4 and TCP, then check for errors and log success.
Explore how to set socket options with setsockopt at the socket level or IP protocol level, including reuse of addresses and ports, and interpret return values.
Open a listener socket, bind to an IPv4 port, and enable multi-client handling with windsock, non-blocking options, and network byte order awareness.
declare and populate the file descriptor set with the listener socket and up to five client sockets, and prepare the maximum fd for the select system call.
Learn to use the select API in Windows to monitor listener and client sockets, wait for one second, and handle new connections or messages from existing clients.
Learn to accept a new client connection using select to check the listener socket, call accept, store the new client in a five-slot array, and handle a busy state.
Learn how to start communication with a new client in socket programming for windows by accepting connections, monitoring client sockets, receiving messages, and sending server acknowledgments in a multi-client setup.
Explore socket programming in windows with a multi-client server and its client code. See how the server accepts new connections, exchanges messages, and uses select to manage multiple clients.
Demonstrates a Windows C++ socket server that handles multiple clients, writes each client message to a log file, and a client loop sending fixed messages to test send and receive.
Learn to build a udp server with datagram sockets that handles messages from any client without a connection, binds to a port, and replies using receive from and send to.
Learn to implement a UDP client in Windows by creating a datagram socket, using sendto and receivefrom, handling errors, and exchanging messages with a server over a chosen port.
Demonstrates udp client–server communication in C++ on Windows, exchanging messages with sendto and recvfrom and handling server acknowledgements. Run multiple clients and log results to a file for verification.
Learn to use gethostname and gethostbyname in Windows sockets to retrieve the local host name and its IP address, using the hostent structure and startup.
https://www.ibm.com/docs/en/aix/7.2?topic=transfer-out-band-data
Socket Programming is an essential part of any client server based applications. The real time systems and many over the network based communication based applications are there which are maintained by many professinals throughout the world and any mistake while fixing any bug due to misunderstood concepts will lead to troubles and extra efforts by the developers. But if the foundation is strong and basics are clear in your mind, you will be easily able to maintain / enhance such applications.
This course has been prepared for Software professionals and Engineering students who wants to learn the basics of socket programming. This course helps you to understand the socket programming at a level where you will be confident enough to program the requirements in TCP/UDP based development.
Many college students and professionals suffer to understand the basics of socket programming and the uses of socket APIs (Like what is the use of WSAStartup or any other WSA APIs, Network Byte Order, TCP vs UDP etc). This course has been prepared in such a step by step manner, that with each step you will be sure of the concepts you need to know.
This course will make you comfortable to become a developer who knows the things related to sockets at an intermediate level (Something more than basics and beginners). But primarily this course has been prepared for beginners.
Happy Learning !!