【网络编程】学习指南

入门

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
熟悉常见的通信模型
看源码学习-->如果组织基础模块,长期积累
posted @ 2020-04-18 23:07  NaughtyCoder  阅读(110)  评论(0)    收藏  举报