Write a program in C that requires one command-line argument that is an IPv4 dotted-decimal address. Create an IPv4 TCP socket and bind this address to the socket along with some port, say 9999. Call listen and then pause. Write a similar program that takes an IPv6 hex string as the command-line argument and creates a listening IPv6 TCP socket. Start the IPv4 program, specifying the wildcard address as the argument. Then, go to another window and start the IPv6 program, specifying the IPv6 wildcard address as the argument. Can you start the IPv6 program since the IPv4 program has already bound that port? Does the SO_REUSEADDR socket option make a difference? What if you start the IPv6 program first, and then try to start the IPv4 program?
Write a
IPv4 program, specifying the wildcard address as the argument. Then, go to another
window and start the IPv6 program, specifying the IPv6 wildcard address as the argument.
Can you start the IPv6 program since the IPv4 program has already bound that port? Does
the SO_REUSEADDR socket option make a difference? What if you start the IPv6 program
first, and then try to start the IPv4 program?
Trending now
This is a popular solution!
Step by step
Solved in 5 steps with 2 images