- 1、本文档共161页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 四 讲
网络通信的基本编程
清华大学计算机系
□ 背景与基本概念
口 Windows Socket 简介
□ Windows 下网络编程基础
□ WinSock API介绍
□有代表性的网络应用协议
2
网络核心
应用
Web 应用
网络边缘电子邮件
网络边缘
文件服务
3
C/S(Client/Server) 结构,即客户机和服务器结构
将任务(存储、操作或计算的任务)分配到客户端或服务器中
客户端和服务器通过网络通信来协作
B/S(Browser/Server) 结构,即浏览器和服务器结构。
客户端使用标准的浏览器,不需要专门开发、部署客户端
■ 即时通信系统 ( IMS) 是最常见的网络应用软件
■ 如QQ、MSN、icq、飞信等
开发IMS, 需要实现最简单的发送和“接收”功能。
■ 方便初学者掌握TCP/IP 网络程序设计
开 发IMS, 读者可以学会C/S模式的网络通信软件的开
发。
■ 包括服务器端程序设计和客户端程序设计。
5
■ 启动服务器,处于监听状态
服务器建立之后,等待客户机的连接申请。
启动客户端,尝试对服务器进行连接操作
■ 一个连接建立之后,其他客户机还可以再连接到上面
■ 这样可以进行多用户的信息交互。
■ 成功建立连接之后,开始进行对话操作 实现只有消息的接收方可以看到,保护隐私。
■ 聊天结束之后,客户机断开连接,退出聊天的过程。
■ 如果是服务器关闭,连接在上面的所有客户机将会断开。
TCP/IP 模型中的两个分界线
应用
Web
Web 应用电子邮件文件服务.
操作系统分界线
套接字 (Socket)
TC
TC UDP
操作系统内核 TCP/IP 协议栈
网络层
协议地址分界线
链路层网络接口网络接口
链路层
网络接口
硬件
应用程序
FILE *fp
fscanf(fp,
fclose(fp);
=
.);
fopen(a.txt,r);
应用程序 文件句柄 文件
应用程序
Socket
网络接口
8
什么是Socket
文 件I/0操作-句柄(Handle)
网 络I/O操作-套接字 (Socket)
Socket 提供了一个通信端口,应用程序在网络上发送、
接收的信息都通过这个接口来实现。
Socket 和句柄一样,是操作系统的资源
IP 地址:
Internet 中的主机要与别的机器通信必须具有一个IP地址, IP地
址是Internet 中主机的标识。
表示形式:常用点分形式,如1 8, 最后都会转换为一
个32位的整数。
■ IP地址转换函数
inet addr(): 点分十进制数表示的IP地址转换为网络字节序的IP
地址
inet ntoa(): 网络字节序的IP 地址转换为点分十进制数表示的IP
地址
10
■ 端口号
为了区分一 台主机接收到的数据包应该递交给哪个进程来进行处理 ,使用端口号
TCP 端口号与UDP 端口号独立
端口号一般 由IANA (Internet Assigned Numbers Authority) 管理
众所周知端口: 1~1023,1~255之间为大部分众所周知端口, 256~1023端口通常由UNIX 占用
注册端口: 1024~49151
动态或私有端口: 49152~65535
11
使 用 socket 实现网络通信
配置一个 socket 需要五种信息:
■ 本地的IP地址、本地的协议端口 远程的 IP地址、远程的协议端口
■ 连接所使用的协议
■ 打个比方:
■ 如果把IP数据包的投递过程看成是给远方的一位朋友 寄一封信,那么:
IP 地址就是这位朋友的所在位置,如北京清华大学计
算系 (依靠此信息进行路由)
端口号就是这位朋友的名字(依靠这个信息最终把这
封信交付给这位收信者)
12
■ 字节序
大尾端 (Big-Endian): 字节的高位在内存中放在存储单 元的起始位置
小 尾 端(Little-Endian): 与大尾端相反
0000111
13
网络字节序: Network Byte Order
使用统 一 的字节顺序,避免兼容性问题
主机字节序: Host Byte Order
不 同 机 器 的HBO 与CPU 的设计有关,可能不一样
Motorola 68K系列, HBO 与NBO 是一致的
Intel X86系列, HBO 与NBO 不一致
■ 字节排序函数
htonl
4 字节主机字节序转换为网络字节序
ntohl
4 字节网络字节序转换为主机字节序
htons
2 字节主机字节序转换为网络字
您可能关注的文档
最近下载
- 2024年秋人教版七年级英语上册全册课件:Unit 5.pptx VIP
- HIOKI日置 RM3545电阻计使用说明书.pdf
- 洛阳市20 15届高三一练理科a卷成绩yiqi.xls
- 2024年秋人教版七年级英语上册全册课件:Unit 4.pptx VIP
- 2024全国中考语文试题分类汇编:记叙文阅读.pdf VIP
- 2024新人教版初中七年级数学上册第六章几何图形初步大单元整体教学设计.docx
- 【美术课件】《水果皇后—山竹》(1).pptx
- Unit 1 You and Me (第1课时) Section A 1a-1d 课件 人教版(2024)七年级上册.pptx
- Unit 1 You and Me Section A How do you greet people 课件 人教版(2024)英语七年级上册.ppt
- 机械结算单模板.docx
文档评论(0)