《0.实验讲稿2010)-东南大学自动化学院.ppt.pptVIP

  • 5
  • 0
  • 约1.38万字
  • 约 50页
  • 2017-01-01 发布于北京
  • 举报

《0.实验讲稿2010)-东南大学自动化学院.ppt.ppt

《0.实验讲稿2010)-东南大学自动化学院.ppt

实验四:聊天工具 实验目的 实验内容及要求 实验步骤 注意事项 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 实验目的 在前面两个实验的基础上进一步了解网络编程的过程。 掌握Windows环境下基于WinSock的编程方法和通讯实现。 编写一个聊天程序,即以客户端和服务器的模式进行互发消息。 back Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 实验内容及要求 利用MFC中的CAsyncsocket类已经集成了socket的基本函数,我们可以直接使用其成员函数来建立,初始化并应用socket,利用客户端和服务器模式,编写一个点对点的,可以相互发送和接收消息的程序,也就是常说的聊天工具。 该工具具有既可以作为服务器也可以做为客户端使用。 当作为服务器时要具有能输入自己的IP值和端口值,并能进行在线监听是否有客户端要求连接,如果有,还要能进行适当的响应,也就是接受连接请求建立连接,并实现消息互发。 当作为客户端是,要求能输入远地服务器的IP值和端口数,并进行连接请求,等待远地服务器的响应,当连接上后要能与服务器进行互发消息,聊天结束后还要实现与服务器的断开的功能。 back Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 实验步骤(1) 建立自己的socket类 使用MFC 中的CAsyncsocket类作为基类重载虚拟函数建立自己的socket类。 Eg.:class CMySocket : public CAsyncSocket 然后重载函数 void CMySocket::OnAccept() void CMySocket::OnClose() void CMySocket::OnConnect() void CMySocket::OnReceive() 这些函数系统会在有网络消息的时候自动调用它们,在下面的实验步骤(2)中提到要使用的函数就是在这些重载函数中调用的。(例子)我们还可以在这些函数中加入自己的代码,实现自己想要得功能。 最后还要在这个类中加入一个指向对话框类的指针作为成员变量,我们就是利用这个对话框类的成员函数来重载上面的虚拟函数的。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 实验步骤(2) 使用的函数 服务器端: ?建立Socket:调用 成员函数Socket()函数 ?绑定端口:调用成员函数bind()函数 (注:对于MFC编程我们只要调用Create()函数就可以包括上面的两个函数) ? 监听:调用成员函数listen()函数 ? 服务器端接受客户端的连接请求:调用成员函数accept() 函数 ?结束 socket 连接 :调用成员函数closesocket() 客户端: ?建立客户端的 Socket :调用 socket() 函数 (注:我们也是调用Create()函数来完成Socket的建立的) ? 提出连接申请 :调用成员函数connect()函数 以上这些函数我们是在重载前面的虚拟函数时使用的,例如OnAccept()函数中调用accept() 函数等等。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 实验步骤(3) 制作界面对话框类 使用的控件: List box,用于显示已发出和已接收的消息。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档