本科毕业论文

基于MFC的局域网聊天工具

Instant Messaging of LAN Based on MFC

姓名:学号:院系:指导教师:

摘要

关键字:局域网;即时通讯;Win32;API;MFC;SOCKET;多线程

Abstract

Keywords: LAN; Instant Messaging(IM); MutiThread; Win32; API; MFC; SOCKET

目录

第一章 引言- 3 -

1.1 课题背景及意义- 4 -

1.2 课题现状- 4 -

1.3 开发平台、开发技术的介绍- 5 -

1.3.1 Windows Socket 网络编程简介- 5 -

1.3.2 VC++ 6.0 简介- 5 -

第二章 需求分析及可行性研究- 5 -

2.1 需求分析- 6 -

2.1.1 功能需求分析- 6 -

2.1.2 数据需求分析- 6 -

2.1.3 性能需求分析- 6 -

2.1.4 运行需求分析- 6 -

2.2 可行性研究- 7 -

2.2.1 成本可行性- 7 -

2.2.2 技术可行性- 7 -

第三章 相关开发技术的原理性说明- 7 -

3.1 Win32编程(即SDK程序设计原理)- 7 -

3.2 MFC (Microsoft Foundation Class)- 17 -

3.2.1 简介- 17 -

3.2.2 MFC与C 语言API 的关系- 17 -

3.2.3 MFC类库- 17 -

3.3TCP/IP协议及WINDOWS SOCKETS 网络编程接口- 20 -

3.3.1 TCP/IP协议简介- 20 -

3.3.2 WINDOWS SOCKETS网络编程接口概述- 22 -

3.4多线程技术- 28 -

3.4.1 进程及线程概述- 28 -

3.4.2 MFC对多线程编程的支持- 29 -

第四章 概要设计- 31 -

4.1 总体设计- 32 -

4.1.1 客户端与服务器端的信息交流- 32 -

4.1.2 服务器端程序流程图- 33 -

4.1.3 客户端程序流程图- 34 -

4.2 界面的设计- 35 -

4.2.1 MFC控件简介- 35 -

4.2.2 界面设计- 35 -

4.2.3 程序与界面的信息交流- 36 -

4.2.4 控件的id说明- 36 -

4.2 功能函数设计- 36 -

4.3 数据结构设计- 38 -

第五章 详细设计及编码实现- 39 -

5.1 服务器端- 39 -

5.1.1 初始化对话框- 39 -

5.1.2 启动服务所对应的功能函数- 39 -

5.1.3 停止服务对应的功能函数- 41 -

5.1.4 定时器功能函数- 41 -

5.1.5 创建线程时调用的功能函数- 43 -

5.1.6 在控件IDC_showip上显示参数lParam中的信息- 46 -

5.1.7 服务器端消息映射机制- 46 -

5.2 客户端- 46 -

5.2.1 初始化对话框- 46 -

5.2.2 获得本地广播地址的功能函数- 48 -

5.2.3 初始化两个SOCKET的功能函数- 49 -

5.2.4 接收服务器信息线程的功能函数- 50 -

5.2.5 在控件上显示在线用户列表- 51 -

5.2.6 接受客户端信息(聊天信息)的线程- 53 -

5.2.7 显示通过参数lParam传输过来的聊天信息- 54 -

5.2.8 点击IDC_send控件后调用的函数- 54 -

5.2.9 定时器功能函数- 55 -

5.2.10 客户端的消息映射- 56 -

第六章 测试- 57 -

6.1 测试项目- 57 -

6.1.1 黑盒测试- 57 -

6.1.2 白盒测试- 57 -

6.2 缺陷与限制- 57 -

6.3 测试结论- 57 -

参考文献- 57 -

第一章 引言

1.1 课题背景及意义

即时聊天工具是一种可以让使用者在网络上实时通讯大部分的即时通讯提供了状态信息的特性显示联络人名单,联络人是否在线及能否与联络人交谈。目前在互联网上受欢迎的即时通讯软件包括百度QQ、MSN Messenger、Yahoo! Messenger、AOL Instant Messenger、NET Messenger Service、Jabber、ICQ等。Socket的局域网通信工具的设计与实现方法。基于MFC Socket的局域网通信软件可以为局域网提供一种良好、安全、快速的通信机制,在局域网内部通

mfc服务器发送信息失败10057,基于MFC的局域网聊天工具.doc相关推荐

  1. java制作局域网聊天器_基于Java的局域网聊天工具

    一 需求分析 掌握Java语言的程序设计方法,理论结合实际操作巩固我们所学的现有知识,使用图形用户界面和socket通信实现一个聊天程序,充分利用线程知识,实现用一个局域网聊天室,同时学会处理各种异常 ...

  2. adfs服务器获取信息失败,在使用Fiddler或其他诊断工具时无法登陆到ADFS服务器

    在使用Fiddler或其他诊断工具时无法登陆到ADFS服务器 03/29/2016 2 分钟可看完 本文内容 问题描述: 当使用Fiddler或其他诊断工具进行ADFS 排错时,用户从内部登录ADFS ...

  3. 服务器如何向c winform推送信息,C局域网聊天工具消息推送实现思路与源码.doc

    C局域网聊天工具消息推送实现思路与源码 C#局域网聊天工具怎么实现? 网络通讯编程的基础便是协议,信息的发送常用的协议有面向连接的TCP协议,以及不面向连接的UDP协议TCP:Transmission ...

  4. 基于TCP的QQ聊天工具

    ###前言: 基于JAVA语言开发的一款网络聊天工具,通过Socket实现TCP编程,使用多线程实现了多客户端的连接.模仿腾讯QQ的界面,功能较为简单,但是使用了最基本的网络编程技术,如socket. ...

  5. 基于Socket的简易聊天工具

    文章目录 基于Socket的简易聊天工具 简易聊天工具的功能: 项目设计 1.界面设计 2.类的设计 程序编写 1.ChatServer 2.ChatFrame 窗体的设计 1.ChatFrame的窗 ...

  6. 基于WebServices简易网络聊天工具的设计与实现

    基于WebServices简易网络聊天工具的设计与实现 Copyright 朱向洋 Sunsea ALL Right Reserved 一.项目内容 本次课程实现一个类似QQ的网络聊天软件的功能:服务 ...

  7. Android基于UDP的局域网聊天通信

    代码地址如下: http://www.demodashi.com/demo/12057.html 记得把这几点描述好咯:代码实现过程 + 项目文件结构截图 + 演示效果 1. 开发环境 1.1 开发工 ...

  8. 基于UDP的P2P聊天工具——0.2

    基于UDP的P2P聊天工具 0.2 简介: 1)这也是一个windows的P2P聊天工具: 2)它修复了0.1版的一个bug: 3)它为0.3版做了一点准备: 相关内容: 1)如果对端端口未开启服务, ...

  9. 基于UDP的P2P聊天工具 0.3——消息队列和重传

    基于UDP的P2P聊天工具 0.3--消息队列和重传 简介: 1)这是一个Windows的P2P聊天工具: 2)相比0.2,它多了定时重传的机制: 3)对局域网来说有些鸡肋,就当是为跨局域网做准备吧: ...

  10. 服务器负载信息失败,负载均衡服务器连接失败怎么回事

    负载均衡服务器连接失败怎么回事 内容精选 换一换 检查后端云服务器的负载状态,如果CPU达到100%,可能是后端应用达到性能瓶颈.查看流量是否超过绑定到弹性负载均衡的EIP的带宽,带宽超限后,会有大量 ...

最新文章

  1. 声波刺激就可长出新骨头?每天只需10分钟,干细胞5天快速分化,芯片装置只需1美元...
  2. 【线段树】【FeyatCup】——2.法法塔的奖励
  3. ora-01017 invalid username/password logon denied
  4. java应用的优化【转】
  5. 什么意思呢_technician是什么意思
  6. 后端技术:MyBatis动态SQL写法介绍
  7. JAVA计时函数的库_JAVA开发常用类库UUID、Optional、ThreadLocal、TimerTask、Base64使用方法与实例详解...
  8. django ipython shell_通過django的shell_plus編寫ipython腳本
  9. python pytorch自定义_Pytorch 实现自定义参数层的例子
  10. linux 调整shmmax,科学网—Ubuntu 9.10 中更改 linux kernal 中的shmmax大小 - 孙鹏的博文...
  11. 进化计算-进化策略(Evolutionary Strategies,ES)前世今生与代码共享
  12. 吞吐量越大越好吗_家用中央空调匹数越大越好吗?
  13. Palindrome - URAL - 1297(求回文串)
  14. HTML5前端教程:jQuery项目实战
  15. 车牌字符识别中ctc loss损失函数理解
  16. Pyton爬虫编程入门学习笔记(八)学习正则表达式
  17. win10键盘全变成快捷键_(安卓)全键盘快捷键
  18. 【P4】解决本地文件修改与库文件间的冲突问题
  19. 传感器自学笔记第八章——DHT11温湿度传感器(附带自己写的很好用的51单片机DHT11代码模板,参数列表只有一个字符数组指针)
  20. 创业如创作,保持热爱

热门文章

  1. Axure share 二三事
  2. android zip winrar,WinRAR Zip Unzip Archive
  3. 【Mimics】口腔牙齿三维重建
  4. WebService接口开发和调用
  5. 用spss进行数据的标准化处理_spss 如何进行数据标准化_spss原始数据标准化_spss数据标准化处理 如何使用SPSS做时间序列分析_spss时间序列分析...
  6. LayerDate日期插件渲染多个class出现闪现问题解决方案
  7. 公路养护工证含金量高吗?在哪报考?
  8. 数电课设——基于74系列芯片搭建的交通灯控制系统电路
  9. java 数组中存储26个英文字母_利用数组打印26个英文字母
  10. BlockCode 少儿编程 9 《赛跑》