- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cbuilder中基于SOCKET网络编程
C++builder中基于SOCKET 网络编程
摘要:TCP/IP网络环境下的应用程序是通过网络系统编程接口socket实现的,本文以C++builder为编程语言,说明了在Windows下基于SOCKET的网络编程原理和实现技术。
关键词:C++builder;套接字(socket);客户机/服务器(C/S)
中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2012) 06-0000-02
一、概述
网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯,它的基本模型就是客户机/服务器模型,即两个进程之间相互通讯,其中一个提供一个固定的位置,而另一个则只需要知道这个固定的位置,并去建立两者之间的联系,然后完成数据的通讯就可以了,这里提供固定位置的通常称为服务器,而建立联系的通常叫做客户端。
二、网络的基本概念
(一)客户机/服务器模式
客户机/服务器模型是网络应用的标准模型,这种模式将网络中的计算机分成两类:提出服务请求的一方称为客户机,提供服务的一方称为服务器,客户机/服务器是个逻辑概念,客户机部分和服务器部分可以在同一物理机器上,也可在不同的物理机器上,与单机模式相比,客户机/服务器模式可以使得负载在客户机和服务器之间平衡,增强了系统的稳定性和灵活性,使系统便于维护和应用。
网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,客户机与服务器分别表示相互通信的两个应用程序的进程,客户机/服务器模式通常采用监听/连接的方式实现,客户机进程是主动的,先发出请求给服务器,服务器端应用程序在一个端口监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到有一个客户机对这个服务提出了连接请求,此时服务线程被“唤醒”并为客户提供服务,即对客户的请求做出适当的反应。
(二)TCP/IP协议
TCP/IP(Transmission Control Protocol/Internet Protocol)协议又叫网络通讯协议,中文译名为传输控制协议/因特网互联协议,由专门负责对不同网络进行互联的互联网协议IP协议和用来检测网络传输中差错的传输控制协议TCP协议组成,该协议是因特网最基本的协议,也是国际互联网络的基础。TCP/IP 协议定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。TCP/IP是一个四层的分层体系结构,每一层都呼叫它的下一层提供的网络来完成自己的需求。包括应用层、传输层、网络层、网络接口层,如下图:
应用层
(Telnet、FTP、HTTP、DNS、SMTPT等)
传输层
(TCP和UDP)
网络层
(IP、ICMP和IGMP)
网络接口层
(以太网、令牌环网、FDDI等)
应用层:应用程序间沟通的层。该层的协议主要有电子邮件传输协议(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
传输层:该层是整个体系结构的控制部分,提供应用程序之间端到端的通讯服务。该层定义了两种协议:传输控制协议(TCP)、用户数据报协议等(UDP)。
网络层:负责提供基本的数据包传送功能,让每一块数据包都能达到目的主机。该层主要包括网际协议(IP)、互联网控制报文协议(ICMP)、Internet组管理协议(IGMP)。
网络接口层:也叫数据链路层,是模型的最底层,负责将帧放入线路或从线路中取出帧。
(三)套接字(Socket)
套接字(Socket)是建立在传输层协议(主要是TCP和UDP)上的一种套接字规范,它定义了两台计算机间的通信规范,Socket是面向C/S模型来设计的,网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket,Socket通常用来实现客户端和服务器端的连接。Socket屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了TCP协议软件和实现了Socket规范的计算机之间的通信成为可能。
要建立一个Socket连接必须具有四个基本信息:本地系统的地址、本地应用程序使用的端口号、远程系统的地址、远程系统中应用程序使用的端口号。具体实现时,首先服务器进程在约定的端口建立一个Socket并处于监听状态等待客户机连接;客户机建立一个Socket并向服务器端发送连接请求;服务器端接受客户机请求并与客户机建立连接;客户机向服务器发送服务请求;服务器端接受客户机服务请求处理后予以响应。如下图:
三、C++builder环境下的网络编程
C++builder中,网络组件TServerSocket和TClientSo
您可能关注的文档
最近下载
- 第一章 2.2 水量平衡.ppt
- 《GB/T 19326-2022锻制支管座》.pdf
- 2022年11月陕西省从优秀村社区干部中考试录用200名乡镇街道机关公务员上岸冲刺卷I含答案详解版(3套).docx VIP
- 2020年银行业从业人员职业操守和行为准则.pdf VIP
- 转预备党员思想汇报【银行】.pdf VIP
- 【新教材】人教版(2024)七年级上册英语Unit 4 My Favourite Subject教案.docx
- 米厂恒温仓库工程设计方案.docx
- 2024年党校入党积极分子培训考试必考重点知识汇编(共160题).doc VIP
- 《世界经典神话与传说故事》 测试题及答案.pdf
- 智能制造设备安装与调试职业技能等级标准(2021年).pdf
文档评论(0)