[计算机软件及应用]网络编程基础
本讲内容 我们应当从多个层面来理解套接字这个概念的内涵。 从套接字所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议栈进行通信的接口,是应用程序与网络协议栈进行交互的接口。 从使用的角度来讲,对于套接字的操作形成了一种网络应用程序的编程接口(API)。包括一组操作套接字的系统调用,或者是库函数。应用程序可以使用这些系统调用构造套接字,安装绑定套接字,通过套接字交换数据以及关闭套接字等。 (4)双方必须使用相同的语言进行通话。这一条看似有些多余,但如果真的一个说汉语、另一个却说英语,那也是没有办法正常沟通的。 (5)在通话过程中,物理线路必须保持通畅,否则电话将会被挂断。 (6)在通话过程中,任何一方都可以主动挂断电话。 (2)服务器应用程序必须早于客户端应用程序启动,并在指定的IP地址和端口上执行监听操作。 如果该端口被其他应用程序所占用,则服务器应用程序无法正常启动。服务器处于监听状态就类似于电话接通电话线、等待拨打的状态。 (3)客户端在申请发送数据时,服务器端应用程序必须有足够的时间响应才能进行正常通信。否则,就好像电话已经响了,但却无人接听一样。 在通常情况下,服务器应用程序都需要具备同时处理多个客户端请求的能力,如果服务器应用程序设计得不合理或者客户端的访问量过大,都有可能导致无法及时响应客户端的情况。 (4)使用Socket协议进行通信的双方还必须使用相同的通信协议,Socket支持的底层通信协议包括TCP和UDP两种。 在通信过程中,双方还必须采用相同的字符编码格式,而且按照双方约定的方式进行通信。这就好像在通电话的时候双方都采用对方能理解的语言进行沟通一样。 (5)在通信过程中,物理网络必须保持畅通,否则通信将会中断。 (6)通信结束后,服务器端和客户端应用程序都可以中断它们之间的连接。 套接字的应用场合 什么时候使用套接字来编程呢? 并不是所有的网络应用程序都需要使用套接字编程的。套接字适用于开发一些新的网络应用,这类应用有如下特点: (1)不管是采用P2P模式或C/S模式,通信双方的应用程序都需要开发; (2)双方所交换数据的结构和交换数据的顺序有特定的要求,不符合现在已经成熟的应用层协议。 #else unsigned short iMaxSockets; unsigned short iMaxUdpDg; char FAR * lpVendorInfo; char szDescription[WSADESCRIPTION_LEN+1]; char szSystemStatus[WSASYS_STATUS_LEN+1]; #endif } WSADATA, FAR * LPWSADATA; 网络应用程序要在不同的计算机中运行,主机字节顺序是不同的,但是,网络字节顺序是一定的。 所以,应用程序在编程的时候,在把IP地址和端口号装入套接字的时候,应当把它们从本机字节顺序转换为网络字节顺序;相反,在本机输出时,应将它们从网络字节顺序转换为本机字节顺序。 ntohl() 长整数网络顺序转化为本机顺序,用于IP地址。 ntohs() 短整数网络顺序转换为本机顺序,用于端口号。 这四个函数将被转换的数值作为函数的参数,函数返回值是转换后的结果。 Winsock 的信息查询函数 Winsock还提供了一组信息查询函数,使用户能方便地获取套接口所需要的网络地址信息以及其它信息。 5.3 WinSock编程基础 5.3.1 构建WinSock应用程序框架 5.3.2 IP地址的表示形式 1. 初始化函数WSAStartup() Winsock 应用程序要做的第一件事,就是必须首先调用WSAStartup()函数对Winsock进行初始化。初始化也称为注册。注册成功后,才能调用其他的Winsock API函数。 Winsock的注册与注销 在一台计算机中,使用同一Windock实现的多个网络应用程序 WSAStartup()函数 int WSAStartup( IN WORD wVersionRequested, OUT LPWSADATA lpWSAData ); ? 参数说明如下: wVersionRequested,
您可能关注的文档
- [计算机软件及应用]第4讲嵌入式实时操作系统分析.ppt
- [计算机软件及应用]第5章 需求建模.pdf
- [计算机软件及应用]第5章 面向对象编程基础1.ppt
- [计算机软件及应用]第5章 软件工程_总体设计 p65.ppt
- [计算机软件及应用]第5讲 病毒、恶意程序及其防范.ppt
- [计算机软件及应用]第6章 分布式数据库中的可靠性.ppt
- [计算机软件及应用]第6章 结构体与共用体.ppt
- [计算机软件及应用]第6讲 第6章 数组.ppt
- [计算机软件及应用]第6设备更新.ppt
- [计算机软件及应用]第7-8讲 数据库的创建和使用.ppt
- 【东吴-2026研报】两会前后的市场节奏和布局.pdf
- 【开源-2026研报】锅圈(02517):公司首次覆盖报告:供应链+数字化为基抢滩下沉,“大店+品类+品牌”拓展迈步第二个万店目标.pdf
- 【开源-2026研报】投资策略专题:开源金股,3月推荐.pdf
- 【国联民生-2026研报】教育行业周报:教育部部署学生身心健康工作,地方推进终身学习.pdf
- 【华创-2026研报】华创交运 低空经济周报(第65期):两会在即,关注低空经济的政策描绘.pdf
- 【华西-2026研报】PB-ROE模型周度仓位观点.pdf
- 【华创-2026研报】华创医药投资观点&研究专题周周谈 · 第164期:海外CXO2025财报总结&2026年展望.pdf
- 【浙商-2026研报】“大展宏图”系列研究二:特朗普如何重构石油美元2.0体系?.pdf
- 【信达-2026研报】光伏组件回收迎来“退役潮”,新国标出台助力行业步入“正规化”.pdf
- 【华创-2026研报】电力及公用事业行业重大事项点评:绿电下游新需求不断涌现,“电力+算力”为绿电打开全新增长空间.pdf
最近下载
- 六年级下册《生命.生态.安全》全册教案(表格式).doc VIP
- JBT 5944-2018 工程机械 热处理件通用技术条件.pdf VIP
- F102050【复试】2024年东北农业大学090201果树学《加试园艺通论》考研复试核心335题(.pdf VIP
- 2025医美行业白皮书.pdf VIP
- 装饰装修施工组织设计完整版.doc
- 六年级下册《生命.生态.安全》全册教案.pdf VIP
- 《大学生毕业论文写作教程》第三章.pptx VIP
- 苏少版四年级下册音乐教案【完整版】(最全).doc VIP
- 湖南省交通事故历年统计数据.docx VIP
- 保险科技驱动下的高质量发展路径:理论框架与实证分析.docx VIP
原创力文档

文档评论(0)