《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 安装并启动 ...
随机推荐
- hdu 1700 (圆的内接三角形 要周长最大)
以原点为圆心,给出圆上的一点,要求圆上的另外两点,使得这三个点的距离和最大,很容易想到这是一个等边三角形然后有这两个公式 点a为已知点a*b=|a|*|b|*cos(120); x*x+y*y=r*r ...
- Action的模型绑定
- 你真的会用Action的模型绑定吗? 在QQ群或者一些程序的交流平台,经常会有人问:我怎么传一个数组在Action中接收.我传的数组为什么Action的model中接收不到.或者我在ajax的 ...
- jQuery库冲突
jQuery库冲突解决办法 一次面试中面试官问到jQuery和别的库冲突怎么解决?虽然以前看过,但是我已经不记得了. 我的思路就是如果让我来设计,那我就用一个默认值$,不传参数,那就用$,最后就挂 ...
- Ubuntu系统无法获得锁/var/lib/dpkg/lock - open (11: 资源暂时不可用)的解决方案
Ubuntu系统无法获得锁/var/lib/dpkg/lock - open (11: 资源暂时不可用)的解决方案 问题 使用Ubuntu打开终端时,输入带有sudo apt-get 命令行是 ...
- 多线程学习笔记八之线程池ThreadPoolExecutor实现分析
目录 简介 继承结构 实现分析 ThreadPoolExecutor类属性 线程池状态 构造方法 execute(Runnable command) addWorker(Runnable firstT ...
- 循序渐进学.Net Core Web Api开发系列【0】:序言与目录
一.序言 我大约在2003年时候开始接触到.NET,最初在.NET framework 1.1版本下写过代码,曾经做过WinForm和ASP.NET开发.大约在2010年的时候转型JAVA环境,这么多 ...
- C#开发Unity游戏教程之使用脚本变量
C#开发Unity游戏教程之使用脚本变量 使用脚本变量 本章前面说了那么多关于变量的知识,那么在脚本中要如何编写关于变量的代码,有规章可循吗?答案是有的.本节会依次讲解变量的声明.初始化.赋值和运算. ...
- 模板 图的遍历 bfs+dfs 图的最短路径 Floyed+Dijkstra
广搜 bfs //bfs #include<iostream> #include<cstdio> using namespace std; ],top=,end=; ][]; ...
- 7617:输出前k大的数
7617:输出前k大的数 查看 提交 统计 提问 总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 给定一个数组,统计前k大的数并且把这k个数从大到小 ...
- [NOIp2014提高组]解方程
思路: 系数的范围有$10^{10000}$,但是用高精度做显然不现实,因此可以考虑一个类似于“哈希”的做法, 对方程两边同时取模,如果取的模数足够多,正确率就很高了. 中间对多项式的计算可以使用$O ...