网络编程基本概念,TCP/IP协议简介(从事C/C++服务器开发,网络编程方向有什么好的书籍推荐呢?)

文章目录:

  1. 网络编程基本概念,TCP/IP协议简介
  2. 从事C/C++服务器开发,网络编程方向有什么好的书籍推荐呢?

一、网络编程基本概念,TCP/IP协议简介

    网络基础知识    网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯 网络编程中有两个主要的问题 一个是如何准确的定位网络上一台或多台主机 另一个就是找到主机后如何可靠高效的进行数据传输 在TCP/IP协议中IP层主要负责网络主机的定位 数据传输的路由 由IP地址可以唯一地确定Internet上的一台主机 而TCP层则提供面向应用的可靠的或非可靠的数据传输机制 这是网络编程的主要对象 一般不需要关心IP层是如何处理数据的     目前较为流行的网络编程模型是客户机/服务器(C/S)结构 即通信双方一方作为服务器等待客户提出请求并予以响应 客户则在需要服务时向服务器提出申请 服务器一般作为守护进程始终运行 监听网络端口 一旦有客户请求 就会启动一个服务进程来响应该客户 同时自己继续监听服务端口 使后来的客户也能及时得到服务     两类传输协议 TCP UDP    尽管TCP/IP协议的名称中只有TCP这个协议名 但是在TCP/IP的传输层同时存在TCP和UDP两个协议     TCP是Tranfer Control Protocol的简称 是一种面向连接的保证可靠传输的协议 通过TCP协议传输 得到的是一个顺序的无差错的数据流 发送方和接收方的成对的两个socket之间必须建立连接 以便在TCP协议的基础上进行通信 当一个socket(通常都是server socket)等待建立连接时 另一个socket可以要求进行连接 一旦这两个socket连接起来 它们就可以进行双向数据传输 双方都可以进行发送或接收操作     UDP是User Datagram Protocol的简称 是一种无连接的协议 每个数据报都是一个独立的信息 包括完整的源地址或目的地址 它在网络上以任何可能的路径传往目的地 因此能否到达目的地 到达目的地的时间以及内容的正确性都是不能被保证的     下面我们对这两种协议做简单比较     使用UDP时 每个数据报中都给出了完整的地址信息 因此无需要建立发送方和接收方的连接 对于TCP协议 由于它是一个面向连接的协议 在socket之间进行数据传输之前必然要建立连接 所以在TCP中多了一个连接建立的时间     使用UDP传输数据时是有大小限制的 每个被传输的数据报必须限定在 KB之内 而TCP没有这方面的限制 一旦连接建立起来 双方的socket就可以按统一的格式传输大量的数据 UDP是一个不可靠的协议 发送方所发送的数据报并不一定以相同的次序到达接收方 而TCP是一个可靠的协议 它确保接收方完全正确地获取发送方所发送的全部数据     总之 TCP在网络通信上有极强的生命力 例如远程连接(Telnet)和文件传输(FTP)都需要不定长度的数据被可靠地传输 相比之下UDP操作简单 而且仅需要较少的监护 因此通常用于局域网高可靠性的分散系统中client/server应用程序     读者可能要问 既然有了保证可靠传输的TCP协议 为什么还要非可靠传输的UDP协议呢?主要的原因有两个 一是可靠的传输是要付出代价的 对数据内容正确性的检验必然占用计算机的处理时间和网络的带宽 因此TCP传输的效率不如UDP高 二是在许多应用中并不需要保证严格的传输可靠性 比如视频会议系统 并不要求音频视频数据绝对的正确 只要保证连贯性就可以了 这种情况下显然使用UDP会更合理一些 lishixinzhi/Article/program/Java/hx/201311/25841

二、从事C/C++服务器开发,网络编程方向有什么好的书籍推荐呢?

读书使人进步,即使工作了,也要经常读一些经典的书籍来充实自己,作为一名一线开发者,下面将自己觉得不错的书籍进行推荐。

1.TCP/IP详解(卷1)

由机械工业出版社出版,一个系列总共三卷,个人感觉卷一足矣。里面基本涵盖了网络的方方面面,是我们补充基础知识的良药,这里建议大家直接读英文版,遇到不认识的单词可以借助翻译工具还是很方便的,中文版读起来总是会有那么的一点点小别扭。

2.TCP/IP网络编程

人民邮电出版,作者是韩国人,写的还是很不错的,可以作为一本很好的入门书籍,文中涉及到Windows和Linux两大平台网络编程基础知识,并以Linux为主,结尾是以HTTP服务器实例向我们介绍了网络编程的方方面面,豆瓣评分8.5,不失为一本经典的网络编程书籍。

下面是一本本人亲自整理的带目录的PDF书籍,如对这本书比较敢兴趣,欢迎私信+关注,我会在第一时间发送你。

3.Unix网络编程

APUE、UNP基本上是Linux开发必读的“圣经”了,Unix网络编程,简称UNP,Linux环境下网络编程必读经典书籍。豆瓣评分飚至9.2,内容简介已经用到了传世之作这四个字,经典之处不必多说。内容也是非常的详尽,可以重点看看工作中常用到的部分,当做案头书,常来翻翻也是不错的,这里重点推荐下。

4.Linux多线程服务端编程

电子工业出版社出版,他们家关于IT类的书籍还是很不错的,作者是大牛陈硕,以其开源的Muduo网络库为基础,讲解了Linux多线程服务端编程的知识,基本属于进阶性质了,阅读本书,不仅需要你有足够的C++功底,还有掌握一些C++11的知识,多线程、网络相关知识也是必备技能点。

基本上,看完这几本书,再加上工作中的实战,基本可以慢慢独当一面了。

最后,欢迎大家关注我的头条号,一个程序员的奋斗史,带你走进真正的程序员视角,分析IT知识。

到此,以上就是小编对于tcp ip网络编程 mobi的问题就介绍到这了,希望介绍关于tcp ip网络编程 mobi的2点解答对大家有用。

mobi图书网
mobi图书网管理员

上一篇:南渡北归(二)(南渡北归2北归txt全集下载)
下一篇:请问CATTI三级笔译考试用哪本词汇书比较好?(笔译三级需要那些参考书)

留言评论

暂无留言