解疑

linux/unix方向的网络编程方面发展方向

网友:网络编程,我是做C/C++网络游戏服务器开发的,我很看好LINUX下的服务器开发这个行业,相当有前途,不管是自己开发软件,还是帮别人开发,都是很吃香的。现在的各种分布式应用正在飞速发展,包括所谓的云计算,所谓的WEB服务。我强烈建议楼主往这方面发展!


从服务器编程方向上讲,应该了解TCP/IP协议族,多线程编程,同步方式,各种锁,锁无关的数据结构,SOCKET编程,各种算法,包括自平衡二叉树,红黑树,哈希等算法等,还有各种池化技术,包括线程池,连接池,WINDOWS下的内存池等。有需要可以选择性的学习原始套接字编程,其他协议,比如ICMP,ARP等。LINUX下的EPOLL你需要看看,还有SQL语言,各种数据库相关的接口你要了解。

具体到学习书籍建议,TCP/IP协议族 《TCP/IP详解 卷一:协议》
如果想做系统型的,也就是改进操作系统,或者写驱动之类的 ,可以再看 《TCP/IP详解 卷二:实现》

多线程编程可以看 《多处理器编程的艺术》,里面包括同步方式,各种锁。
SOCKET编程建议看 《实战linux socket 编程》相当经典,相当全面!
各种算法你可以看 《数据结构》相关书籍。
各种池化技术 建议你上网查找相关资料,同时有本《STL.源码剖析》推荐给你,里面包含了相当多的算法,还有内存池讲解。

数据库的书就太多了,你自己去找吧。

你可能感兴趣的:(编程人生)