About setsockopt () and getsockopt ()

Why are socket options ie setsockopt () and getsockopt () used in socket programming?

+3
source share
4 answers

For example, you want to set or find out the size of the receive buffer

1)

int skt, int sndsize;
err = setsockopt(skt, SOL_SOCKET, SO_RCVBUF, (char *)&sndsize,
                                 (int)sizeof(sndsize));

err = getsockopt(skt, SOL_SOCKET, SO_RCVBUF, (char *)&sockbufsize, &size);

2) Reuse address

 int on = 1;
 if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0)
+4
source

As already mentioned, they are used to set / get various options for the socket.

, , , , ​​ , " ". , SO_REUSEADDR, , .

, / .., TCP_INFO Linux-.

, .

setsockopt (2) getsockopt (2).

+2

, , , write, read, close, . (listen, connect, bind, accept), , .

, , , (, /, -), , getsockopt, setsockopt .

int getsockopt(int sockfd, int level, int optname,
               void *optval, socklen_t *optlen);
int setsockopt(int sockfd, int level, int optname,
               const void *optval, socklen_t optlen);

, , level optname, , , , , support - , .

+2

, , , , , Nagel, ..

, , : , IP, TCP ..

+1

Source: https://habr.com/ru/post/1775987/


All Articles