1、 目目 录录 摘要摘要3 一一 设计内容设计内容3 1、设计目的设计目的3 2、设计要求设计要求3 二二 设计原理设计原理3 三三 设计过程设计过程.4 1、程序设计流程及源代码程序设计流程及源代码.4 (1)流程图.4 (2)源代码.4 I 服务器4 II 客户端9 2、 调试分析过程描述调试分析过程描述14 3、 结果分析结果分析19 结论结论.20 参考文献参考文献.20 2 摘要摘要 当今世界正处于信息时代,计算机和通信网络是这一时代所谓“信息基础 设施” 。在互联网相当普及的今天,在互联网上聊天对很多“网虫”来说已经是 家常便饭了。聊天室程序可以说是网上最简单的多点通信程序。一个简单
2、的聊天 室, 从程序员的观点来看就是在多个 I/O 端点之间实现多对多的通信。基于 SOCKET 的局域网通信是一种灵活的、易于实现的、低成本的方法。它可以运行 在各种使用 TCP/IP 协议作为通讯协议的网络上。而在 SOCKET API 的帮助下,开 发基于 SOCKET 的局域网通信软件也是易于实现的。 来源:http:/ sdeer 圣迪奥 正文正文 一、一、设计内容设计内容 1 1、设计目的、设计目的 综合运用本课程及计算机网络的相关知识设计并实现一个网络应用程序, 以 Visual C+作为开发平台,通过实践复习巩固课堂所学的理论知识,提高对所学 知识的综合应用能力。 2 2、设计
3、设计要求要求 采用客户/服务器模式,分为客户端程序和服务器端程序。服务器采用 WINSOCK I/O 模型中的任一种,支持多个客户同时在线聊天。客户端程序和服务 器程序通过网络交换聊天字符串内容,服务器窗口的列表框中显示当前在线用 户,支持客户端之间的私聊(可以通过服务器中转,或考虑 UDP 打洞直接建立端 端连接) 。 二、设计原理二、设计原理 服务器端通过 socket()系统调用创建一个 Socket 数组后(即设定了接受连接 客户的最大数目),与指定的本地端口绑定 bind(),就可以在端口进行侦听 listen()。如果有客户端连接请求,则在数组中选择一个空 Socket,将客户端地
4、 3 址赋给这个 Socket。然后登录成功的客户就可以在服务器上聊天了。客户端程 序相对简单,只需要建立一个 Socket 与服务器端连接,成功后通过这个 Socket 来发送和接收数据就可以了。socket 聊天室基本原理是,抛开 CGI(公共网关 接口)和 www 服务器,根据 html 规范,接收到浏览器的请求以后,模仿 www 服务器的响应,将聊天内容发回浏览器。在浏览器看来就像浏览一个巨大的页面 一样始终处于页面联接状态, 这就是一个专门的聊天服务器,一个简化了的 www 服务器。 三、设计过程三、设计过程 1 1、程序程序设计流程及设计流程及源代码源代码 (1)流程图流程图 (2)源代码源代码 I 服务器:服务器: / ServerDlg.cpp : implementation file / #include “stdafx.h“ #include “Server.h“ #include “ServerDlg.h“ #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE = _FILE_; #endif / / CAboutDlg dialog used for App About class CAboutDlg : public CDialog public: