《TCP/IP网络编程》
《TCP/IP网络编程》
基本信息
作者: (韩)尹圣雨
译者: 金国哲
丛书名: 图灵程序设计丛书
出版社:人民邮电出版社
ISBN:9787115358851
上架时间:2014-6-19
出版日期:2014 年6月
开本:16开
页码:1
版次:1-1
所属分类:计算机 > 计算机网络 > 网络协议 > TCP/IP
更多关于》》》《TCP/IP网络编程》
编辑推荐
为初学者准备的网络编程
本书涵盖操作系统、系统编程、TCP/IP协议等多种内容,结构清晰、讲解细致、通俗易懂。此书面向利用套接字进行网络编程的初学者,具备C语言基础知识的读者会获得更多帮助。书中收录了丰富的示例,详细展现了Linux和Windows平台下套接字编程的共性与个性。特别是从代码角度说明了不同模型服务器端的区别,还包括了条件触发与边缘触发等知识,对开发实践也有很大帮助。
内容简介
书籍
计算机书籍
《tcp/ip网络编程》涵盖操作系统、系统编程、tcp/ip 协议等多种内容,结构清晰、讲解细致、通俗易懂。书中收录丰富示例,详细展现了linux 和windows 平台下套接字编程的共性与个性。特别是从代码角度说明了不同模型服务器端的区别,还包括了条件触发与边缘触发等知识,对开发实践也有很大帮助。
《tcp/ip网络编程》针对网络编程初学者,面向具备c 语言基础的套接字网络编程学习者,适合所有希望学习linux和windows 网络编程的人。
第一部分主要介绍网络编程基础知识。此部分主要论述windows和linux平台网络编程必备基础知识,未过多涉及不同操作系统特性。
第二部分和第三部分与操作系统有关。第二部分主要是linux相关内容,而第三部分主要是windows相关内容。从事windows编程的朋友浏览第二部分内容后,同样可以提高技艺。
第四部分对全书内容进行总结,包含了作者在自身经验基础上总结的学习建议,还介绍了网络编程经典书籍。
目录
《tcp/ip网络编程》
第一部分 开始网络编程
第1章 理解网络编程和套接字 2
1.1 理解网络编程和套接字 2
1.2 基于linux的文件操作 9
1.3 基于windows平台的实现 15
1.4 基于windows的套接字相关函数及示例 18
1.5 习题 24
第2章 套接字类型与协议设置 26
2.1 套接字协议及其数据传输特性 26
2.2 windows平台下的实现及验证 32
2.3 习题 35
第3章 地址族与数据序列 36
3.1 分配给套接字的ip地址与端口号 36
3.2 地址信息的表示 39
3.3 网络字节序与地址变换 42
3.4 网络地址的初始化与分配 45
3.5 基于windows的实现 52
3.6 习题 57
第4章 基于tcp的服务器端/客户端(1) 59
4.1 理解tcp和udp 59
4.2 实现基于tcp的服务器端/客户端 64
4.3 实现迭代服务器端/客户端 71
4.4 基于windows的实现 77
4.5 习题 81
第5章 基于tcp的服务器端/客户端(2) 82
5.1 回声客户端的完美实现 82
5.2 tcp原理 91
5.3 基于windows的实现 96
5.4 习题 99
第6章 基于udp的服务器端/客户端 101
6.1 理解udp 101
6.2 实现基于udp的服务器端/客户端 103
6.3 udp的数据传输特性和调用connect函数 109
6.4 基于windows的实现 114
6.5 习题 117
第7章 优雅地断开套接字连接 118
7.1 基于tcp的半关闭 118
7.2 基于windows的实现 124
7.3 习题 127
第8章 域名及网络地址 128
8.1 域名系统 128
8.2 ip地址和域名之间的转换 130
8.3 基于windows的实现 136
8.4 习题 138
第9章 套接字的多种可选项 140
9.1 套接字可选项和i/o缓冲大小 140
9.2 so_reuseaddr 145
9.3 tcp_nodelay 150
9.4 基于windows的实现 152
9.5 习题 154
第10章 多进程服务器端 155
10.1 进程概念及应用 155
10.2 进程和僵尸进程 159
10.3 信号处理 165
10.4 基于多任务的并发服务器 173
10.5 分割tcp的i/o程序 178
10.6 习题 182
第11章 进程间通信 183
11.1 进程间通信的基本概念 183
11.2 运用进程间通信 188
11.3 习题 193
第12章 i/o复用 194
12.1 基于i/o复用的服务器端 194
12.2 理解select函数并实现服务器端 197
12.3 基于windows的实现 206
12.4 习题 209
第13章 多种i/o函数 211
13.1 send & recv函数 211
13.2 readv & writev函数 221
13.3 基于windows的实现 225
13.4 习题 229
第14章 多播与广播 230
14.1 多播 230
14.2 广播 236
14.3 基于windows的实现 240
14.4 习题 242
第二部分 基于linux的编程
第15章 套接字和标准i/o 246
15.1 标准i/o函数的优点 246
15.2 使用标准i/o函数 249
15.3 基于套接字的标准i/o函数使用 252
15.4 习题 254
第16章 关于i/o流分离的其他内容 255
16.1 分离i/o流 255
16.2 文件描述符的复制和半关闭 259
16.3 习题 264
第17章 优于select的epoll 265
17.1 epoll理解及应用 265
17.2 条件触发和边缘触发 273
17.3 习题 283
第18章 多线程服务器端的实现 284
18.1 理解线程的概念 284
18.2 线程创建及运行 287
18.3 线程存在的问题和临界区 296
18.4 线程同步 299
18.5 线程的销毁和多线程并发服务器端的实现 306
18.6 习题 312
第三部分 基于windows的编程
第19章 windows平台下线程的使用 316
19.1 内核对象 316
19.2 基于windows的线程创建 317
19.3 内核对象的2种状态 322
19.4 习题 325
第20章 windows中的线程同步 327
20.1 同步方法的分类及critical_section同步 327
20.2 内核模式的同步方法 331
20.3 windows平台下实现多线程服务器端 339
20.4 习题 343
第21章 异步通知i/o模型 344
21.1 理解异步通知i/o模型 344
21.2 理解和实现异步通知i/o模型 346
21.3 习题 356
第22章 重叠i/o模型 357
22.1 理解重叠i/o模型 357
22.2 重叠i/o的i/o完成确认 362
22.3 习题 370
第23章 iocp 371
23.1 通过重叠i/o理解iocp 371
23.2 分阶段实现iocp程序 379
23.3 习题 387
第四部分 结束网络编程
第24章 制作http服务器端 390
24.1 http概要 390
24.2 实现简单的web服务器端 394
24.3 习题 401
第25章 进阶内容 403
25.1 网络编程学习的其他内容 403
25.2 网络编程相关书籍介绍 404
索引 406
《TCP/IP网络编程》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- mavean项目的jar位置的影响
由于项目的数据库需求改变了,有mysql数据库变为oracle的,那么对于项目就是需要改变数据库连接池.这个项目运用了mavean框架,那么下载jar在pom.xml文件中填写就可以了,但是oracl ...
- maven正确的集成命令-U -B 等
在持续集成服务器上使用怎样的 mvn 命令集成项目,这个问题乍一看答案很显然,不就是 mvn clean install 么?事实上比较好的集成命令会稍微复杂些,下面是一些总结: 不要忘了clean: ...
- 001.Pip简介安装使用
一 PIP简介 pip类似RedHat里面的yum,使用PIP安装软件非常便捷快速. 二 PIP下载安装 方式一: [root@localhost ~]# yum install -y epel-re ...
- Web设计快速入门
在基本顺利完成功能的基础上,就需要考虑美观的问题了,在眼球经济的当下,一个面向用户的产品,如果没有好的UI,那么它就是不合格的.这部分内容算是初出茅庐,会持续更新. "一个人的外貌决定我是否 ...
- linux学习笔记-3.文件相关命令
1.进入到用户根目录 cd ~ 或者 cdcd ~hadoop回到原来路径cd - 2.查看文件详情 stat a.txt 3.移动 mv a.txt /ect/改名mv b.txt a.txt移动并 ...
- 二叉查找树(二叉排序树)的详细实现,以及随机平衡二叉查找树Treap的分析与应用
这是一篇两年前写的东西,自我感觉还是相当不错的Treap教程.正好期末信息科学技术概论课要求交一个论文,就把这个东西修改了一下交了,顺便也发到这里吧. 随机平衡二叉查找树Treap的分析与应用 1.序 ...
- 整理c# 不常用但有用代码
# 整理c# 不常用但有用代码 1.winform窗体右键菜单打开其他窗体 private void contextMenuStripHandler_Click(object sender, Even ...
- 初始化collectionViewCell
#import <UIKit/UIKit.h> @interface TonyCollectionViewCell : UICollectionViewCell @property UII ...
- 使用UltraISO制作Windows 10启动U盘
1.从官方网站下载制作工具UltraISO:http://cn.ultraiso.net/uiso9_cn.exe 这是个试用版,但也足够用一次了. 2.在电脑上插入一块U盘,容量最好不少于8GB,接 ...
- 您该选择PRINCE2 还是 PMP认证
您该选择PRINCE2 还是 PMP认证? 很多人都问我,这是一个非常常见的问题,作为一个项目经理,他们是否应选择PRINCE2或PMP认证,因为这两个认证都是全世界非常流行的. PRINCE2 是一 ...