【网络编程】学习指南
入门
libevent 跨平台cmake,学会调试程序,使用GDB debug
网络调试的命令
ifconfig
作用:看网络ip, 启用和关闭网卡
ctrip.com ip1/ip2 漂移IP->VIP
telnet
telnet ip port
telnet ip地址 端口号
nc
测试服务器或者客户端的连通性
curl
netstat
lsof
list open fd 查看打开的fd
lsof 可以恢复Linux被删除的文件
tcpdump
如果服务器出现很多CLOSE_WAIT状态,如何解决
应该掌握哪些常用的socket API
三次握手,四次挥手,详细流程,状态
常见socket API重点解析
bind函数地址
异步的connect函数
connect如果很慢或者很远,他会重新连接几次,重试间隔
send和recv函数的返回值
shutdown与优雅关闭
gethostbyname
常见的网络通信模型
select
poll
epoll
WSAEventSelect
WSAAsyncSlect
IOCP
设计一个网络库应该考虑哪些功能
使用哪种IO复用函数
收发数据的正确姿势
如何收发数据
收:监听读事件
接受和发送缓冲区
socket-connection-session的组织关系
通信协议如何设计
http
smtp/pop3/imap
ftp
自定义协议
tly格式
pb&shift
网络编程如何学
理论方面把好好看看
掌握常用的网络通讯的命令
熟悉常见的socket API
熟悉常见的通信模型
看源码学习-->如果组织基础模块,长期积累
知识的价值不在于占有,而在于使用