基于LAN数据通信系统设计.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于LAN数据通信系统设计

-  PAGE 26 - 目 录 前 言 ……………………………………………………………………………………………2 第一章 系统设计 …………………………………………………………………………………3 第一节 课题目标及总体方案……………………………………………………………….….3 第二章 实验(测试)结果及讨论…………………………………………………………….….7 第一节 套接字类CPublicNetSoftDlg…………………………………………………………..7 第二节 连接套接字类和对话框视窗…………………………………………………………..8 第三节 服务器段应用程序……………………………………………………………………..8 第四节 客户端应用程序………………………………………………………………………..9 第三章 结论………………………………………………………………………………………11 心得体会…………………………………………………………………………………………13 参考文献 …………………………………………………………………………………………13 附 录 …………………………………………………………………………………………15 一、源程序………………………………………………………………………………………15 二、其他………………………………………………………………………………………25 前 言 介绍了在VC++6。0环境开发Winsock应用程序的方法,利用MFC提供的CAsync—Socket类实现了服务器和客户端应用程序的通信,从客户端应用程序可以向服务端应用程序发送信息;服务端应用程序利用Windows的进程查找API函数获得本机正在运行的程序名,并把它们发送给客户端应用程序。 Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。 服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以使用大于1024的端口),等待客户连接请求, 客户连接后,会话产生;在完成会话后,关闭连接。 客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。 第一章 系统设计 第一节 课题目标及总体方案 利用Socket编程是一类典型的网络通信编程方法,特别是在实时性要求较高及远程控制时,Winsock编程是非常实用的。本方中利用了MFC的CAsyncSocket类实现了服务器和客户端应用程序的通信,基本类CasyncSocket提供全面的由事件驱动的Socket通信能力。 第二节 基本套接字系统调用 套接字编程原理  = 1 \* GB3 ① 创建套接字 ─ socket( )应用程序在使用套接字前,首先必须拥有一个套接字,系统调用socket( )向应用程序提供创建套接字的手段,其调用格式如下: SOCKET socket(int af, int type, int protocol); 该调用要接收三个参数:af、type、protocol。参数af指定通信发生的区域,UNIX系统支持的地址族有:AF_UNIX、AF_INET、AF_NS等,而DOS、WINDOWS中仅支持AF_INET,它是网际网区域。因此,地址族与协议族相同。参数type描述要建立的套接字的类型。参数protocol 说明该套接字使用的特定协议,如果调用者不希望特别指定使用的协议,则置为0,使用默认的连接模式。根据这三个参数建立一个套接字,并将相应的资源分配给它, 同时返回一个整型套接字号。因此,socket( )系统调用实际上指定了相关五元组中的“协议”这一元。 ② 指定本地地址 ─ bind( )当一个套接字用socket( )创建后,存在一个名字空间(地址族),但它没有被命名。bind( )将套接字地址(包括本地主机地址和本地端口地址)与所创建的套接字号联系起来,即将名字赋予套接字,以指定本地半相关。其调用格式如下: int bind(SOCKET s, const struct sockaddr FAR * name, int namelen); 参数 s 是由 socket( ) 调用返回的并且未作连接的套接字描述符(套接字号)。参数name是赋给套接字s的本地地址(名字),其长度可变,结构随通信域的不同而不同。na

您可能关注的文档

文档评论(0)

bokegood + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档