网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
对MFC封装Windows通讯API的研究
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
DGRAM);
file://指定端口号产生一个数据报套接字

    第一种方法在栈上产生一个CAsyncSocket对象,而第二种方法在堆上产生CAsyncSocket对象。第一种Create成员函数用缺省参数产生一个字节流套接字,第二种Create成员函数用指定的端口和地址产生一个数字报套接字。Create的参数有:
    ①端口,UINT类型。注意:如果是服务方,则使用一个众所周知的端口供服务方连接;如果是客户方,典型做法是接受默认参数,使套接字可以自主选择一个可用端口;

    ②socket类型。SOCK-STREAM(默认值)或SOCK-DGRAM;

    ③socket地址。例如“ftp.gliet.edu.cn”或“202.193.64.33”。

    (2)如是客户方程序,用CAsyncSocket∷Connect成员函数连接到服务方;如是服务方程序,用CAsyncSocket∷Listen成员函数开始监听,一旦收到连接请求,则调用CAsyncSocket∷Accept成员函数开始接收。注意:CAsyncSocket∷Accept成员函数要用一个新的并且是空的CSocket对象作为它的参数,这里所说的“空的”指的是这个新对象还没有调用Create成员函数。

    (3)调用其他的CAsyncSocket类成员函数进行通讯管理。

    (4)通讯结束后,销毁CAsyncSocket对象。如果是在栈上产生的CAsyncSocket对象,则对象超出定义的范围时自动被析构;如果是在堆上产生,也就是用了new这个操作符,则必须使用delete操作符销毁CAsyncSocket对象。

    3.CSocket类编程模型

    使用CSocket对象涉及CArchive和CSocketFile类对象。以下介绍的针对字节流型套接字的操作步骤中,只有第3步对于客户方和服务方操作是不同的,其他步骤都相同。

    (1)构造一个CSocket对象。

    (2)使用这个对象的Create成员函数产生一个socket句柄。在客户方程序中,除非需要数据报套接字,Create一般情况下应该使用默认参数。而对于服务方程序,必须在调用Create时指定一个端口。注意:CArchive不能与数据报(UDP)套接字一起工作,因此对于数据报套接字,CAsyncSocket和CSocket的使用方法是一样的。

    (3)如果是客户方套接字,则调用CAsyncSocket∷Connect与服务方套接字连接;如果是服务方套接字,则调用CAsyncSocket∷Listen开始监听来自客户方的连接请求,收到连接请求后,调用CAsyncSocket∷Accept接受请求,建立连接。注意:Accept成员函数需要一个新的并且为空的CSocket对象作为它的参数,解释同上。

    (4)产生一个CSocketFile对象,并把它与CSocket对象关联起来。

    (5)为接收和发送数据各产生一个CArchive对象,把它们与CSocketFile对象关联起来。切记CArchive是不能和数据报套接字一起工作的。

    (6)使用CArchive对象在客户与服务方传送数据。(7)通讯完毕后,销毁CArchive、CSocketFile和CSocket对象。

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号