局域网即时通讯软件的实现

本文介绍了局域网即时通讯软件NetMsg的实现,包括其功能描述、开发平台、运行环境和设计原理。NetMsg支持局域网内用户之间的文本聊天、文件传输,采用UDP和TCP协议,利用数据传输协议保证通信的可靠性。数据结构包括数据包包头和用户信息类。
摘要由CSDN通过智能技术生成
 

. 概述  

1.1. 背景  

     局域网内的即时通讯软件,命名NetMsg

1.2. 功能描述  

   定位于局域网内的即时通信软件,借鉴飞鸽传书、QQ等即时通讯工具,提供以下功能:

Ø         程序启动后自动搜索局域网内所有启动NetMsg的用户,将用户添加到用户列表,可以与这些用户进行通讯;

Ø         用户可以设定自己的昵称、在线状态等相关信息;

Ø         实现局域网内用户与用户之间一对一、一对多的实时通讯,通讯内容主要是文本数据;

Ø         实现局域网内文件或目录的可靠传输;

Ø         对通讯内容或文件进行加密和校验的功能;

Ø         对通讯内容、传输文件有日志记录,便于以后查看;

Ø         程序界面方面:具备简洁明了的主窗口,任务栏显示图标快捷方式;主窗口大小可以调节,位置可以拖动,可以停靠到屏幕上部边缘;主窗口始终显示在桌面最上层;文本通讯窗口提供文本输入区域和文本显示区域;文本通讯窗口提供用户详细信息;文本通讯窗口提供文件传输功能菜单或功能按钮等;文本通讯窗口大小可以调节、位置可以移动;

1.3. 开发平台

Microsoft Windows Xp sp2操作系统;

C,C++语言;

VisualC++6.0作为开发工具,使用到了MFC的类库;

1.4. 运行环境  

  Microsoft Windows2000WindowsXpWindows2003操作系统。

. 设计

2.1. 原理  

局域网络内登录NetMsg的用户之间是对等的关系,用户之间直接进行数据交互而不需要通过中间服务器;

登录用户列表的建立,使用UDP协议发送广播数据包,已启动NetMsg的用户收到此广播包后,就会在自己的用户列表中添加此用户,同时向对方发送本机用户相关信息,从而使双方都能建立起用户列表;

传送聊天信息使用UDP协议,由于UDP协议是无连接协议,传输速度快,但是没有确认机制,是不可靠的协议,鉴于局域网网络状况相对稳定,基本能够保证数据包的正常到达目的地,不需添加自定义确认机制;

用户离线时同样发送一个广播数据包,其它用户收到此数据包后根据包中的信息删除此用户;

文件内容的传输采用TCP协议;

2.2 数据传输协议

数据传输协议定义了发送数据包的格式,通讯双方对数据包内容含义的理解。

数据包包括数据包包头和消息体,格式如下:

版本号:数据包编号:MAC地址:登录用户名:主机名:数据包生成时间:命令字:校验和:消息体

其中消息体前面的内容是数据包包头信息的定义,各选项含义如下:

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值