1. 扎实的C,C++基础知识
参考资料《C程序设计》,《C++ primer》。
2. TCP/IP协议
经典书:W.Richard Stevens 著《TCP/IP详解》三卷书,卷1是协议,卷2是实现,卷3是TCP事务协议等。还有官方的协议文档:RFC.当然也可以在网上下载电子书。
经典的开源协议分析工具:Wireshark.
简单的开源TCP/IP协议栈:LwIP,或者Linux 1.0里包含的协议栈,当然也可以看看FreeBSD的TCP/IP协议栈。
3. 实际指导网络编程的书
Winodws平台,经典书是《windows网络编程》第二版。
Linux平台,经典书是W.Richard Stevens 著《UNIX网络编程》。
4. VC++开发
侯捷著 《深入浅出MFC》, 《windows程序设计》,《Windows核心编程》,Microsoft的MSDN。
PS. 我自己用VC++2005企业版,安装了MSDN 2005的版本。
网络编程书籍补充以下
C++网络编程 卷1 运用ACE和模式消除复杂性
C++网络编程 卷2 基于ACE和框架的系统化复用
ACE自适配通信环境中文技术文档
Visual+C++网络高级编程
Windows网络与通信程序设计
精通Windows+Sockets网络开发——基于Visual+C++实现
开源网络封装库
ACE,ICE,asio,cppsocket,netclass,poco,SimpleSocket,socketman,Sockets
开源下载工具
fdm, eMulePlus,eMule
开源FTP
FileZilla
开源服务器
Apache
网游服务器开源框架
GNE,HawkNL,RakNet,SDL_net
最好能参加实际的网络项目,这样能见识更多成熟的网络类库。
平常使用的工具
----软件开发调试中常用的一些小工具
Ethereal -------协议分析
SockMon5 -------抓包及错误分析
TCP/IP 3卷太厚了,估计大家没时间看,我推荐:谢希仁的《计算机网络》第5版,作者用词严谨,定义讲究,参考了大量的国外文献,书中图文并茂,基本原理讲得非常透彻明了,非计算机专业的读者也能读懂,而且也有高级一点的主题,比如p2p,音视频编解码等,但高级一点的主题没有展开来,其他涉及到tcp/ip协议族的都讲到,是很多高校计算机专业研究生入学考试的指定参考书。