文章目录:
一、 *** 编程基本概念,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点解答对大家有用。
留言评论
暂无留言