Skip to content

guo-yong-kang/LAN-Messenger-Tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LAN-Messenger-Tool

Platform Framework Language License Download

项目简介

本项目是一款针对局域网内嵌入式开发的简易消息发送工具,解决了在开发调试过程中信息传递不便的问题。相比传统的文件传输工具或即时通讯软件,本工具专注于:

快速、稳定的文本消息通信

任意长度、多行内容传输,无乱码

跨设备、跨平台使用(Windows 和 Linux)

无需外部网络支持

开发本工具的初衷是:在嵌入式开发过程中,复制粘贴文本效率低、某些通讯软件发送多行内容可能乱码或受字数限制,导致开发调试不便。因此设计了这套轻量级工具,实现局域网内快速消息发送与接收。

功能特性

跨平台支持:Windows 和 Linux

服务端 IP 未指定时自动检测本机所有网口

消息稳定传输:支持任意长度文本、多行内容,无乱码

自动重连:断开连接后自动尝试重连

轻量易用:界面简洁,部署简单

无需登录

使用场景

局域网内嵌入式开发调试

跨设备传递代码片段或日志信息

替代微信在局域网内的临时消息传递

实时协助测试或调试嵌入式设备

直接使用

Windows

  1. 下载最新版

  2. 解压、运行exe文件。

  3. 配置IP和端口(服务端配置为0.0.0.0或空即监听所有IP,同一设备内可使用127.0.0.1)。

  4. 服务端点击监听,客户端点击连接,实现连接成功即可完成通讯。

注意 客户端和服务端所在的设备需要在同一局域网内且可以ping成功。

Linux

使用方法与Windows下相同,但需要自行编译。

注意 客户端和服务端所在的设备需要在同一局域网内且可以ping成功。

二次开发

  1. 安装Qt。

  2. git clone https://github.com/guo-yong-kang/LAN-Messenger-Tool.git

  3. 使用Qt打开本程序,其中ChatServer为服务端项目,ChatClient为客户端项目。

  4. 编译运行。

ChatServer 文件说明

根目录文件

文件名 功能说明
chatserver.cpp 服务端主逻辑实现,包括服务器启动、客户端连接管理、消息收发等功能。
chatserver.h chatserver.cpp 对应的头文件,定义类、函数接口和成员变量。
ChatServer.pro Qt 工程文件,定义项目配置、源文件、资源文件等,用于 Qt Creator 或 qmake 构建。
chatwindow.cpp 聊天窗口界面逻辑实现。
chatwindow.h chatwindow.cpp 的头文件,定义窗口类和成员函数接口。
config.cpp 配置文件读取和写入功能实现,包括客户端和服务端配置管理(如端口、IP、显示设置)。
config.h config.cpp 对应的头文件,定义配置类接口和结构。
configwidget.cpp 配置界面实现,提供图形界面让用户修改参数。
configwidget.h configwidget.cpp 的头文件,定义配置界面类和接口。
main.cpp 程序入口,初始化 Qt 应用、创建主窗口实例并显示。
messagebubble.cpp 消息气泡样式实现,包括不同类型消息(发送/接收)气泡的绘制和布局。
messagebubble.h messagebubble.cpp 的头文件,定义消息气泡类接口。
resource.cpp 一些宏定义和样式表。
resource.h resource.cpp 对应头文件。
resource.qrc Qt 资源文件,列出项目中使用的图标、图片等文件路径,用于打包到程序中。
resource.rc Windows 资源文件,定义图标,用于 Windows 平台编译时使用。

ICON 目录

文件名 功能说明
ICON.ico 程序主图标,用于 Windows 系统任务栏和窗口图标。
ICON.png 程序使用的其他图标。

ChatServer 文件说明

与ChatServer一致。

更新日志 v2025-9—17

客户端和服务端的配置文件使用不同名字,可以把客户端和服务端可执行文件放在同一目录下。

更新日志 v2025-9—16

新增功能:

点击发送自动删除输入框信息。

滚动条自动滚动到底部。

更新日志 v2025-9—15

新增功能:

气泡消息:支持消息以气泡形式显示。

清空消息:一键清空聊天记录。

超时重连时间:设置连接超时后自动重连的时间。

右键操作:气泡消息支持右键全选和复制。

键盘操作:点击气泡后快捷键全选和复制。

连接状态显示:显示连接断开或失败的原因。

重连次数显示:显示当前重连的次数。

无法重连的连接失败处理:在连接失败且无法重连时,自动停止重连并显示错误信息,避免重复尝试连接。

新增配置项:

气泡颜色:可自定义气泡背景颜色。

文字颜色:可自定义消息文字颜色。

字体大小:支持调整消息显示字体大小。

默认IP配置:可设置默认连接的 IP。

默认最大重连次数配置:可设置默认最大重连次数,超过之后不再重连。

默认端口配置:可设置默认连接端口。

历史消息最大数量:可配置最大历史消息存储数量。

依赖环境

Qt 5 或 6(支持跨平台 GUI 开发)

快速使用

编译服务端和客户端程序

启动服务端(可指定 IP,也可留空自动检测),点击监听

启动客户端,输入目标 IP ,点击连接

连接成功后即可通讯

服务端

客户端

配置项

About

LAN Messenger 是一款局域网内跨设备消息传递工具,专为嵌入式开发和多设备调试场景设计。 在开发过程中,传递调试信息使用文件传输工具效率低下,本工具提供了快速、轻量的消息传输方式。

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors