《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 安装并启动 ...
随机推荐
- k8s集群master节点上的flannel总是不定期重启的原因分析
这个问题,困绕了团队一段时间, 因为暂时没有用到master的外网网络, 没有引起重视,但总归要解决. 上周五,刚好有点小空,就深入调查了一下. 最后,定位到了问题点:k8s master节点的fla ...
- 【LOJ】#2509. 「AHOI / HNOI2018」排列
题解 虽然要求一个dfs序,但是不是从根开始贪心 从最小的点开始贪心,最小的点显然是父亲选了之后马上就选它 那么我们每次把最小的点和父亲合并,两个联通块之间也是如此 对于两个联通块,他们合并的顺序应该 ...
- MATLAB检查指定路径中的子文件夹中的文件名中是否带有空格
测试文件夹为: clear;close all;clc; %% %程序实现的功能 %检查指定路径中的子文件夹中的文件名中是否带有空格,并去掉文件名中的空格 %% %程序中用到的之前不清楚的函数如下 % ...
- 005.Zabbix-Agent客户端安装
一 安装Zabbix-Agent [root@imxhy ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-rel ...
- Vue.js学以致用之遇到的那些坑
前段时间的react授权许可的闹剧告诉大家一个问题,只有自己的东西用着才放心.各大巨头也逐渐明白使用自家东西的优势.本来vue的生态就愈加火热,这次的闹剧无疑又加速了vue的发展.当下,国内越来越多的 ...
- 初识MYSQL2
mysql的配置 MySql默认的端口号是3306 默认字符集的设置 在mysql的安装目录,会看到my.ini文件! my.ini文件介绍 01.default-character-set=utf8 ...
- QT学习笔记9:QTableWidget的用法总结
最近用QT中表格用的比较多,使用的是QTableWidget这个控件,总结一下QTableWidget的一些相关函数. 1.将表格变为禁止编辑: tableWidget->setEditTrig ...
- 洛谷.4721.[模板]分治FFT(NTT)
题目链接 换一下形式:\[f_i=\sum_{j=0}^{i-1}f_jg_{i-j}\] 然后就是分治FFT模板了\[f_{i,i\in[mid+1,r]}=\sum_{j=l}^{mid}f_jg ...
- hdu 1116 敌兵布阵(树状数组区间求和)
题意: 给出一行数字,然后可以修改其中第i个数字,并且可以询问第i至第j个数字的和(i <= j). 输入: 首行输入一个t,表示共有t组数据. 接下来每行首行输入一个整数n,表示共有n个数字. ...
- 【BZOJ-3218】a+b Problem 最小割 + 可持久化线段树
3218: a + b Problem Time Limit: 20 Sec Memory Limit: 40 MBSubmit: 1320 Solved: 498[Submit][Status] ...