C#网络通信程序设计
正版保障 假一赔十 可开发票
¥
36.3
4.8折
¥
75
全新
库存30件
作者张晓明
出版社清华大学出版社有限公司
ISBN9787302600336
出版时间2021-08
装帧平装
开本16开
定价75元
货号11501086
上书时间2024-11-25
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
张晓明,男,教授,博士,北京市教学名师,北京市中青年骨干教师,北京高校继续教育高水平教学团队带头人,计算机和大数据专业负责人。CCF分布式计算与系统专委会委员,全国高校计算机教育研究会理事,北京市高校计算机教育研究会常务理事。主讲《计算机网络》、《大数据技术及应用开发》等课程。出版《计算机网络教程(第2版)》、《C#网络通信程序设计》、《软件系统设计与体系结构》等教材7部,专著1部。荣获2018年北京市高等教育教学成果一等奖。从事网络计算与系统安全、大数据技术分析等研究,发表论文60余篇。
目录
目录
第1章绪论1
1.1TCP/IP协议简介1
1.2网络编程的重要术语3
1.2.1套接字及其类型3
1.2.2网间进程通信的标识4
1.2.3客户机/服务器模式5
1.3C#网络编程概述7
1.3.1常用的网络组件7
1.3.2寻找IP地址的类和方法8
1.3.3数据流的类型与应用9
1.3.4多线程技术12
1.3.5Windows API函数调用14
1.4套接字编程原理16
1.4.1面向连接的套接字调用流程16
1.4.2无连接套接字调用流程16
1.4.3Socket类的基本使用18
1.4.4套接字的简单应用实例22
小结23
实验项目23
第2章主机扫描程序设计25
2.1活动主机探测技术25
2.1.1ICMP协议介绍26
2.1.2基于ICMP的探测原理28
2.1.3活动主机探测程序设计29
2.2端口扫描技术35
2.2.1端口扫描器35
2.2.2端口扫描技术分类36
2.3TCP全连接扫描程序设计40
2.3.1流程设计40
2.3.2程序实现40
2.4高级端口扫描程序设计44
2.4.1界面设计44
2.4.2程序实现45
2.5网站可达性测量程序设计57
2.5.1系统设计思路57
2.5.2数据库设计58
2.5.3程序实现59
小结70
实验项目70
第3章串口通信程序设计72
3.1串口通信基本原理和应用方法72
3.1.1串口通信原理72
3.1.2串口通信仿真设计方法76
3.2串口通信编程类介绍77
3.2.1SerialPort类介绍78
3.2.2SerialPort的使用79
3.2.3C# SerialPort运行方式 79
3.3串口通信编程实例80
3.3.1串口通信参数设置80
3.3.2主程序设计82
3.3.3串口通信程序测试87
小结88
实验项目88
第4章基于TCP协议的程序设计89
4.1TCP协议介绍89
4.1.1TCP数据包格式90
4.1.2TCP协议的通信特点90
4.1.3TCP的常见端口91
4.2阻塞/非阻塞模式及其应用91
4.2.1典型的阻塞模式91
4.2.2阻塞模式的特点92
4.2.3阻塞模式的效率提升方法93
4.2.4非阻塞模式及其应用94
4.3同步套接字编程技术95
4.3.1服务器的程序设计95
4.3.2客户机的程序设计100
4.4异步套接字编程技术103
4.4.1客户机发出连接请求104
4.4.2服务器接收连接请求104
4.4.3服务器发送和接收数据105
4.5基于TcpClient类和TcpListener类的编程106
4.5.1TcpClient类的使用方法107
4.5.2TcpListener类的使用方法108
4.6网络游戏程序设计109
小结120
实验项目121
第5章基于UDP协议的程序设计122
5.1UDP协议介绍122
5.1.1UDP数据包格式123
5.1.2UDP协议的主要特性123
5.2使用UdpClient类进行编程124
5.2.1UdpClient类的使用方法124
5.2.2UdpClient类的应用实例126
5.3网络广播程序设计128
5.3.1广播程序设计示例129
5.3.2套接字选项设置方法130
5.4多播程序设计132
5.4.1多播地址132
5.4.2Internet组管理协议IGMP133
5.4.3多播编程方法134
5.4.4多播编程实例136
小结139
实验项目139
第6章网络抓包程序设计141
6.1网络抓包软件体系结构分析141
6.1.1网络抓包技术分析141
6.1.2WinPcap的体系结构142
6.2基于WinPcap的抓包程序设计143
6.2.1WinPcap编程基础143
6.2.2WinPcap应用实例147
6.3基于SharpPcap的抓包程序设计153
6.3.1SharpPcap应用入门153
6.3.2常用数据结构和函数154
6.4基于原始套接字的抓包程序设计157
6.4.1设计实例说明157
6.4.2关键代码分析157
小结162
实验项目162
第7章木马程序设计164
7.1木马工作原理164
7.1.1木马系统的组成165
7.1.2木马的功能和特征165
7.1.3木马的传播与运行166
7.2木马程序的常规设计167
7.2.1功能设计167
7.2.2流程图设计167
7.2.3命令规则设计表167
7.2.4文件操控模块流程169
7.2.5运行界面及说明169
7.2.6主要程序说明171
7.3远程屏幕监视技术175
7.3.1屏幕捕获过程解析175
7.3.2屏幕捕获程序设计177
7.3.3基于远程调用信道的远程屏幕监视程序设计181
7.4基于TCP协议的远程屏幕监视程序设计190
7.4.1控制端190
7.4.2客户端192
7.5键盘鼠标控制程序设计195
7.5.1键盘鼠标控制方法195
7.5.2键盘钩子说明195
7.5.3键盘鼠标的网络控制程序设计197
小结203
实验项目203
第8章IP音频网络通信程序设计205
8.1音频编程方法概述205
8.2基于多媒体控件的音频播放程序设计206
8.3DirectX组件的工作原理208
8.3.1DirectX简介208
8.3.2DirectSound简介210
8.3.3声音的播放过程211
8.4基于DirectX组件的IP语音网络程序设计212
8.4.1利用DirectX组件实现音频播放212
8.4.2利用DirectX组件实现音频采集213
8.4.3基于DirectX组件的IP电话程序设计221
8.5基于低级音频函数的IP电话程序设计229
8.5.1低级音频函数的调用方法229
8.5.2利用低级音频函数实现音频采集与播放233
8.5.3利用低级音频函数实现语音通信程序设计241
小结243
实验项目244
第9章网络视频传输程序设计245
9.1视频编码技术245
9.1.1视频编码分类245
9.1.2视频格式转换248
9.2基于VFW的视频采集与存储249
9.2.1VFW介绍249
9.2.2视频数据处理技术250
9.2.3视频监控程序设计254
9.3基于VFW的视频传输257
9.3.1视频传输流程257
9.3.2视频发送端程序设计259
9.3.3视频接收端程序设计262
小结265
实验项目265
第10章Email服务程序设计266
10.1概述266
10.1.1工作原理266
10.1.2相关的协议268
10.2SMTP协议编程269
10.2.1SMTP的指令与响应码269
10.2.2Email的组成270
10.2.3ESMTP的工作流程271
10.2.4ESMTP协议编程实例272
10.3POP3协议编程276
10.3.1POP3的工作流程276
10.3.2POP3协议编程概述278
10.4利用SmtpMail类发送Email283
10.4.1System.Web.Mail介绍283
10.4.2处理Email信息及附件285
10.4.3Email发送方法286
10.5利用JMail类收发Email287
10.5.1JMail组件的特点287
10.5.2JMail组件的主要参数与使用方法287
10.5.3基于JMail组件的Email发送编程290
10.5.4基于JMail组件的Email接收编程291
小结293
实验项目293
第11章FTP服务程序设计295
11.1FTP工作原理295
11.1.1FTP服务的工作原理295
11.1.2FTP的传输模式296
11.1.3FTP的登录方式297
11.2FTP协议规范297
11.2.1FTP命令297
11.2.2FTP响应码298
11.2.3FTP命令和响应码的应用方法300
11.3FTP协议的两种工作模式301
11.3.1FTP PORT模式(主动模式)301
11.3.2FTP PASV模式(被动模式)302
11.3.3两种模式的比较303
11.4基于Socket类的FTP程序设计303
11.5基于TcpClient类的FTP程序设计321
11.5.1发送与接收数据的方法321
11.5.2服务器程序323
11.5.3客户机程序324
小结328
实验项目328
第12章网络信息加密传输程序设计330
12.1数据加密模型330
12.1.1数据加密工作模型331
12.1.2对称加密模型331
12.1.3非对称加密模型332
12.1.4数字签名模型333
12.2对称加密程序设计335
12.2.1对称加密算法335
12.2.2基于流的加密解密方法336
12.2.3对称加密程序设计实例339
12.3非对称加密程序设计342
12.4网络信息加密传输程序设计350
12.4.1服务器的实现350
12.4.2客户机的实现358
小结365
实验项目365
第13章网络信息隐藏通信程序设计366
13.1LSB信息隐藏方法366
13.2基于LSB的文件隐藏传输程序设计368
13.2.1设计思路368
13.2.2信息同步技术369
13.2.3LSB的改进算法设计370
13.2.4主要代码实现370
13.3IP语音隐秘通信程序设计377
13.3.1设计思路377
13.3.2发送端关键代码378
13.3.3接收端关键代码380
13.4网页信息隐藏程序设计382
13.4.1网页入侵检测的工作原理382
13.4.2网页入侵检测系统的设计382
13.4.3网页入侵检测系统的实现384
小结391
实验项目391
参考文献392
内容摘要
第3章串口通信程序设计 学习内容和目标 学习内容: .了解RS-232串口通信原理与应用方法。 .学习PC上串口通信的仿真过程。 .学习串口通信程序设计。 学习目标: (1)掌握在单机上通过仿真工具的通信编程技术和实现能力。 (2)在点对点串口通信程序设计全过程的系统实现能力。 1. 3 串口通信基本原理和应用方法 3.1 串口通信原理 1. 串口通信协议包括RS-232 、RS-422和RS-485三种标准。 RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之 间的兼容。RS-232-C是美国电子工业协会(ElectronicIndustryAsociation,EIA)制定 的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次 数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。在多数情 况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条 接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒50 、75 、100 、150 、300 、 600 、1200 、2400 、4800 、9600 、19200波特。RS-232-C标准规定,驱动器允许有2500pF的 电容负载,通信距离将受此电容,例如,采用150pF/m的通信电缆时,优选通信距离 为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以 内的通信。 目前RS-232是PC与通信工业中应用最广泛的一种串行接口。RS-232被定义为一 种在低速率串行通信中增加通信距离的单端标准。RS-232采取不平衡传输方式,即所谓 单端通信。有9针和25针两种引脚,如图3-1和图3-2所示。 图3-1 RS-232 的DB9 连接器引脚图3-2 RS-232 的DB25 连接器引脚 具体引脚定义如表3-1所示。 表3- 1 RS-232 串口引脚定义 9针串口(DB9) 25 针串口(DB25) 针号功能说明缩写针号功能说明缩写 1 数据载波检测DCD 8 数据载波检测DCD 2 接收数据RXD 3 接收数据RXD 3 发送数据TXD 2 发送数据TXD 4 数据终端准备DTR 20 数据终端准备DTR 5 信号地GND 7 信号地GND 6 数据设备准备好DSR 6 数据准备好DSR 7 请求发送RTS 4 请求发送RTS 8 清除发送CTS 5 清除发送CTS 9 振铃指示DELL 22 振铃指示DELL 收、发端的数据信号是相对于信号地,例如,从DTE 设备发出的数据在使用DB25 连 接器时是2脚相对7脚(信号地)的电平。典型的RS-232 信号在正负电平之间摆动,在发 送数据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V 。当无数据传 输时,线上为TTL,从开始传送数据到结束,线上电平从TTL 电平到RS-232 电平再返回 TTL 电平。接收器典型的工作电平在+3~+12V 与-3~-12V 。由于发送电平与接 收电平的差仅为2V 至3V,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送 距离优选约为15m,优选速率为20kb/s。RS-232 是为点对点(即只用一对收、发设备)通 信而设计的,其驱动器负载为3~7kΩ 。所以RS-232 适合本地设备之间的通信。 RS-232C 串口通信接线方法(三线制): 首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收 脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连,即 .同一个串口的接收脚和发送脚直接用线相连,对9针串口和25 针串口,均是2与 74 3直接相连。 .两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口)。 表3-2是对微机标准串行口而言的,还有许多非标准设备,如接收GPS 数据或电子 罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼此交 叉,信号地对应相接。图3-3是RS-232 的9针串口线。 表3- 2 RS-232C 3.按钮“打开串口”的单击处理事件 该按钮起到翻转作用,单击“打开串口”成功后,串口打开,其名称变为“关闭串口”;再 单击又恢复到“关闭”状态,名称变为“打开串口”。如此,起到了两个按钮的作用。 private void btnSwitchSP_Click(object sender, EventArgs e)//打开串口 { if (btnSwitchSP.Text=="打开串口") { if(strPortName !="" && strBaudRate !="" && strDataBits !="" && strStopBits !="") { try { if (sp.IsOpen) { sp.Close(); sp.Open(); //打开串口 } else { sp.Open(); //打开串口 } btnSwitchSP.Text="关闭串口"; groupBox1.Enabled=true; groupBox2.Enabled=true; this.toolStripStatusLabel1.Text="端口号: "+sp.PortName+" 丨"; this.toolStripStatu
主编推荐
"本书是作者基于多年从事计算机网络编程教学与科研工作而编写的,是全国高等学校计算机教育研究会2014年立项项目成果,其特色主要表现在: (1)技术性和编程方法的结合:使学生在编程的同时,能够通过设计思路、设计流程等开拓思维,既基于编程又不限于编程。 (2)实用性和趣味性融于一体:以网络开发项目为主题,比如主机扫描、网络游戏开发、网络抓包、木马技术、远程监控等项目,容易使学生产生浓厚的兴趣。 (3)系统性和层次性紧密结合:从主机扫描、常规通信到安全通信,具有系统性,在设计内容、设计难度和综合性方面具有层次性,适合于不同深度的需求。 (4)适合教学需要:全部实例都可以调试和运行;具有完整的多媒体课件和源代码;每章都给出了主要内容,包括基本原理、开发方法、技术流程、界面设计、编程要点和代码分析,还有课堂练习思考内容和实验项目。每章后面还设计了实验项目,便于读者开展课程设计、综合实验和毕业设计用。 (5)体现科研成果:比如网络测量、网络信息隐藏通信章节是作者近年来的研究成果内容,而木马技术、语音通信、网络视频传输、屏幕监控、串口通信等内容,则是作者的科技项目转化内容。"
精彩内容
本书以能力目标为指引,以项目主题方式组织全文,阐述主机扫描、串口通信、TCP协议编程、UDP协议编程、网络抓包、木马程序、屏幕监视、IP语音网络通信、网络视频传输、Email协议编程、FTP协议编程、网络信息加密传输和网络信息隐藏通信编程等原理、技术分析、实现方法和开发案例,内容丰富。配套有全部章节的教学PPT、源代码,可以到清华大学出版社的网站免费下载,便于教学安排和学生自学。 本书以套接字技术为主线,力求体现网络编程的技术性、实用性和安全性,每章还包含课堂练习和实验项目内容。这些设计思想,综合了作者多年的教学改革心得与科研转化成果,具有一定的优选性。 本书适合作为高等院校计算机及相关专业学生的教材,也可作为网络通信和信息安全编程人员的参考书。对研究生、教师和科研人员开展网络技术开发也会有重要的帮助。
媒体评论
本书是作者基于多年从事计算机网络编程教学与科研工作而编写的,是全国高等学校计算机教育研究会2014年立项项目成果,其特色主要表现在:(1)技术性和编程方法的结合:使学生在编程的同时,能够通过设计思路、设计流程等开拓思维,既基于编程又不限于编程。
(2)实用性和趣味性融于一体:以网络开发项目为主题,比如主机扫描、网络游戏开发、网络抓包、木马技术、远程监控等项目,容易使学生产生浓厚的兴趣。
(3)系统性和层次性紧密结合:从主机扫描、常规通信到安全通信,具有系统性,在设计内容、设计难度和综合性方面具有层次性,适合于不同深度的需求。
(4)适合教学需要:全部实例都可以调试和运行;具有完整的多媒体课件和源代码;每章都给出了主要内容,包括基本原理、开发方法、技术流程、界面设计、编程要点和代码分析,还有课堂练习思考内容和实验项目。每章后面还设计了实验项目,便于读者开展课程设计、综合实验和毕业设计用。
(5)体现科研成果:比如网络测量、网络信息隐藏通信章节是作者近年来的研究成果内容,而木马技术、语音通信、网络视频传输、屏幕监控、串口通信等内容,则是作者的科技项目转化内容。
作者是北京市教学名师,主讲的计算机网络是北京市优质课程。教材覆盖计算机类等理工专业,包含14个精心设计的网络项目案例,是高等学校计算机教材建设立项项目。
— 没有更多了 —
以下为对购买帮助不大的评价