網絡世界核心是**客戶進程**與**服務器進程**的對話。典型例子:telnet (客戶) 連接 23 端口,遠端 telnetd (服務器) 守候處理登錄、會話。

SOCK_STREAM (TCP) 或 SOCK_DGRAM (UDP),雙端必須一致。ftp/ftpd, bootp/bootpd。socket() 建立套接字。bind() 綁定端口。listen() 監聽。accept() 等待連接。fork() 子進程處理具體業務 (並發)。send()/recv() 數據交互。功能:TCP 端口 2349 發送 "Hello, World!\n" 給連接者。


完整代碼請參考:/kf/201201/116006.html
功能:連接指定主機 2349 端口,接收並打印服務器發送的字串。
完整代碼請參考:/kf/201201/116006.html
# 終端 1 啟動服務器
$ ./server
# 終端 2 (同機或不同機) 測試
$ telnet localhost 2349
# 或
$ ./client localhost 2349
fork() 實現並發的基本模式 (父進程 accept,子進程 service)。select/poll/epoll 多路復用、線程池等高性能模型鋪墊。