sockopt.c 684 B

1234567891011121314151617181920212223242526
  1. #include "unp.h"
  2. #include <netinet/tcp.h> /* for TCP_MAXSEG value */
  3. int
  4. main(int argc, char **argv)
  5. {
  6. int sockfd, mss, sendbuff;
  7. socklen_t optlen;
  8. sockfd = Socket(AF_INET, SOCK_STREAM, 0);
  9. /* Fetch and print the TCP maximum segment size. */
  10. optlen = sizeof(mss);
  11. Getsockopt(sockfd, IPPROTO_TCP, TCP_MAXSEG, &mss, &optlen);
  12. printf("TCP mss = %d\n", mss);
  13. /* Set the send buffer size, then fetch it and print its value. */
  14. sendbuff = 65536;
  15. Setsockopt(sockfd, SOL_SOCKET, SO_SNDBUF, &sendbuff, sizeof(sendbuff));
  16. optlen = sizeof(sendbuff);
  17. Getsockopt(sockfd, SOL_SOCKET, SO_SNDBUF, &sendbuff, &optlen);
  18. printf("send buffer size = %d\n", sendbuff);
  19. exit(0);
  20. }