《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网络编程》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. k8s集群master节点上的flannel总是不定期重启的原因分析

    这个问题,困绕了团队一段时间, 因为暂时没有用到master的外网网络, 没有引起重视,但总归要解决. 上周五,刚好有点小空,就深入调查了一下. 最后,定位到了问题点:k8s master节点的fla ...

  2. 【LOJ】#2509. 「AHOI / HNOI2018」排列

    题解 虽然要求一个dfs序,但是不是从根开始贪心 从最小的点开始贪心,最小的点显然是父亲选了之后马上就选它 那么我们每次把最小的点和父亲合并,两个联通块之间也是如此 对于两个联通块,他们合并的顺序应该 ...

  3. MATLAB检查指定路径中的子文件夹中的文件名中是否带有空格

    测试文件夹为: clear;close all;clc; %% %程序实现的功能 %检查指定路径中的子文件夹中的文件名中是否带有空格,并去掉文件名中的空格 %% %程序中用到的之前不清楚的函数如下 % ...

  4. 005.Zabbix-Agent客户端安装

    一 安装Zabbix-Agent [root@imxhy ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-rel ...

  5. Vue.js学以致用之遇到的那些坑

    前段时间的react授权许可的闹剧告诉大家一个问题,只有自己的东西用着才放心.各大巨头也逐渐明白使用自家东西的优势.本来vue的生态就愈加火热,这次的闹剧无疑又加速了vue的发展.当下,国内越来越多的 ...

  6. 初识MYSQL2

    mysql的配置 MySql默认的端口号是3306 默认字符集的设置 在mysql的安装目录,会看到my.ini文件! my.ini文件介绍 01.default-character-set=utf8 ...

  7. QT学习笔记9:QTableWidget的用法总结

    最近用QT中表格用的比较多,使用的是QTableWidget这个控件,总结一下QTableWidget的一些相关函数. 1.将表格变为禁止编辑: tableWidget->setEditTrig ...

  8. 洛谷.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 ...

  9. hdu 1116 敌兵布阵(树状数组区间求和)

    题意: 给出一行数字,然后可以修改其中第i个数字,并且可以询问第i至第j个数字的和(i <= j). 输入: 首行输入一个t,表示共有t组数据. 接下来每行首行输入一个整数n,表示共有n个数字. ...

  10. 【BZOJ-3218】a+b Problem 最小割 + 可持久化线段树

    3218: a + b Problem Time Limit: 20 Sec  Memory Limit: 40 MBSubmit: 1320  Solved: 498[Submit][Status] ...