网络聊天室(6)

发布时间:2021-06-06

这是一个利用Visual C++ 6.0和MFC相结合做成的简单的网络聊天室系统。

如果在堆栈上创建了套接字对象,当包含函数超出范围时将调用此对象的析构函数。如果使用 new 运算符在堆上创建了套接字对象,则您必须负责使用 delete 运算符销毁此对象。

(2)析构函数在销毁对象之前调用对象的 Close 成员函数。

有关代码中该顺序的示例(实际上是对于 CSocket 对象),请参见 Windows Sockets:操作顺序。

创建 CAsyncSocket 类的对象后,该对象封装 Windows SOCKET 句柄并提供对此句柄的操作。使用 CAsyncSocket 时,如果您直接使用 API,则必须处理可能面对的所有问题。例如: “阻塞”方案。

发送和接收计算机之间的字节顺序差异。

在 Unicode 和多字节字符集 (MBCS) 字符串之间转换。

2.3 利用CSocket进行连接通信

CAsyncSocket类逐个封装了WinSock API,为程序员提供了有力而灵活的方法。这个类基于程序员了解网络通讯的假设,目的是为了在MFC中使用WinSock,为了给程序员提供更方便的接口以自动处理这些任务,MFC给出 了CSocket类,这个类是由CAsyncSocket类继承下来的,它提供了比CAsyncSocket更高层的WinSock API接口。Csocket类和CsocketFile类可以与Carchive类一起合作来管理发送和接收的数据,这使管理数据收发更加便利。CSocket对象提供阻塞模式,这对于Carchive的同步操作是至关重要的。阻塞函数(如Receive()、Send()、ReceiveFrom()、SendTo() 和Accept())直到操作完成后才返回控制权,因此如果需要低层控制和高效率,就使用

【5】CasyncSock类;如果需要方便,则可使用Csocket类【1】。

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

(1)构造一个CSocket对象。

(2)使用这个对象的Create()成员函数产生一个socket对象。在客户方程序中,除非需要数据报套接字,Create()函数一般情况下应该使用默认参数。而对于服务方

网络聊天室(6).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219