Files
My-Own-Redis/Server-Client Program/Tut-Sheet-2.txt

34 lines
1.4 KiB
Plaintext

Starting of client and server.
1. First we need fd using socket()
int fd = socket(AF_INET,SOCK_STREAM,0);
->AF_INET = It is used to provide IPv4
NOTE: AF_INET6 = It is used to provide IPv6 or dual-stack socket.
->SOCK_STREAM = It is used to set the TCP protocol.
2. NEW SYSTEM CALL
setsocketopt()
-> There are various layer of network communication and each layer have various option, from which we pick one to
configure the network communication.
-> This syscall is to set those option
IMPORTANT: SO_REUSEADDR-> It is an option to reuse the same address when the process(communication) is restarted.
-> Risk of using it.
# If the previous connection using the same address didn't took all the packets and the process got closed
before taking it, the same address might be used by the same program with new instance of process or by another
program with new instance of process. This rouge packets is intented to send it to the address which is in reuse.
This cause problem. This problem also make it hackable.
NEW TERM: WILDCARD ADDRESS -> when we use sockets, the communication is design to between two process only.
Not allowing multicast or multiple communication. To establish this multiple communication we use wildcard address.
This is used on server-side program.
3. read() and write()
It returns number of read and written bytes.