N年前写的一篇旧文,讲了socket的基本概念,socket地址,编程模型,各种API的使用。对初学者可以起到入门的作用,想进一步学习的,可以看看TCP/IP协议栈,Socket本身的实现。(阻塞是用信号量实现的,select用到的fd_set是怎么回事,epoll对比select的优越性,libevent是怎么dispatch的,socket buffer大小会引起任务等待,多线程处理模式等等)
Agenda:
What is Socket
BSD Compatible Socket Library API
Simple Sample(Telnet Server/Client)
1. What is Socket
Basically Model:
Figure -- 1
Figure -- 2
Socket Address Structures:
Figure -- 3
IPv4 Socket Address Structures:
Figure -- 4
Port Numbers:
Figure -- 5
2. BSD Compatible Socket
Figure -- 6
Socket Function: