TCP客户端大多都是异步操作,发送数据后只能在回调里处理,而有一些特殊业务可能需要发送后同步返回。 部分模块或支持库也有同步返回,但只支持单线程单包返回,经常看到有人在问这方面的问题 所以吃完粽子后趁消化之余闲着没事就顺手写了个  多线程TCP发送数据同步接收 实现思路: 1:发送数据前取一个唯一标识,和创建一个事件,保存该事件ID和唯一标识放到数组里 2:把唯一标识写入到数据里一并发送到服务器,然后调用事件等待 3:服务器接收到数据后处理完相关命令ID,在发回给客户端的数据里带上客户端发来的唯一标识 4:客户端收到数据时取出 唯一标识,再到数组里通过唯一标识取出 事件ID,再把数据放到数组里,触发事件ID,另外线程那边发送的就能收到通知了。 5:在发送线程收到事件触发后,根据唯一标识在数组里取出服务器返回的数据,再释放事件ID和删除相关缓存数据 这样就完成了发送数据后同步接收过程 TCP套件用的是  客户端/服务器组件 代码包含了 组包/拆包 该思路方法通用于所有TCP模块或支持库,如有需要请自行移植!
2024-12-02 23:50:16 11KB 网络相关源码
1
**X-Lite 3.0 汉化版** X-Lite是一款流行的SIP(Session Initiation Protocol)客户端,主要用于VoIP(Voice over Internet Protocol)通信。它为用户提供了便捷的软电话服务,允许通过互联网进行语音通话。X-Lite 3.0汉化版是该软件的一个中文版本,使得中国用户能够更方便地理解和使用其功能。 **SIP客户端** SIP是一种用于建立、管理和终止多媒体通信会话的协议,常用于互联网电话、视频会议和即时消息等应用。作为SIP客户端,X-Lite允许用户注册到SIP服务器,并通过该服务器与其他SIP用户进行交互。它支持多种通信方式,包括音频和视频通话、即时消息和在线状态显示。 **VoIP技术** VoIP是一种通过互联网传输语音数据的技术,与传统的PSTN(公共交换电话网络)相比,VoIP具有成本低、灵活性高和可扩展性强的优点。X-Lite作为VoIP工具,通过将语音转换为数字信号,然后在网络上传输,实现高质量的语音通话。用户只需稳定的网络连接,即可在全球范围内进行通话。 **配置X-Lite** 配置X-Lite通常包括以下步骤: 1. **安装软件**:用户需要解压并安装X-Lite 3.0汉化版。确保下载的文件是安全的,如X-Lite.rar。 2. **汉化文件**:如果原始软件界面为英文,用户需要应用汉化文件,如X-Lite汉化文件.rar,以获得中文界面。 3. **设置SIP账户**:在X-Lite中,用户需要输入SIP服务提供商提供的用户名、密码和服务器地址,以便注册到SIP网络。 4. **网络设置**:确保软件配置正确,适应用户的网络环境,包括端口设置和代理服务器配置。 5. **测试通话**:配置完成后,进行拨打测试,确认音频设备正常工作,并能成功连接到SIP服务器。 6. **功能设置**:根据个人需求,用户还可以自定义各种设置,如音量控制、呼叫转移、来电显示等。 **使用指南** 通过访问提供的链接(http://www.tocall.cn/article/service/2008/20080627108.html),用户可以找到详细的X-Lite 3.0汉化版使用教程,包括安装、配置和常见问题的解答。这个链接提供了一手资源,帮助用户更好地理解和操作这款强大的VoIP工具。 X-Lite 3.0汉化版是VoIP通信领域的一款实用工具,尤其适合需要中文界面的用户。通过简单的配置和丰富的功能,用户可以轻松享受高质量的网络通话体验。
2024-12-02 10:29:58 13.92MB X-Lite SIP客户端 voip
1
基于Unity的纯C#(客户端+服务端+热更新)游戏开发整合方案.zip 本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目源码系统完整,内容都是经过专业老师审定过的,基本能够满足学习、使用参考需求,如果有需要的话可以放心下载使用。
2024-12-01 11:00:12 20.17MB unity
1
天津商业大学数字化作业中心作业客户端 v3.1.1908.B26110022.B21091809 2022-10-19 12357 1.exe
2024-11-30 10:43:15 46.49MB
1
hostlink协议入门 适合初学者 多个关键字请用空格分隔
2024-11-28 12:49:51 13KB hostlink
1
最新的1200和1500plc已经支持s7_plus协议,不用开启put/get就可读取,demo为c#所写
2024-11-28 11:24:27 11.94MB s7_plus 西门子plc
1
MQTTFX是MQTT协议的开源客户端工具,专为开发者和测试人员设计,便于与MQTT服务器进行交互。本文将深入探讨MQTTFX及其在IT领域的应用。 MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息协议,广泛应用于物联网(IoT)环境,尤其是资源有限的设备上。它的核心设计原则是低带宽、低功耗和高可靠性,使得远程位置的设备可以有效地通信。MQTTFX作为MQTT协议的客户端,提供了用户友好的图形界面,使得用户无需编程就能测试和调试MQTT服务器。 MQTTFX基于JavaFX技术开发,JavaFX是一个用于构建桌面和移动应用程序的现代UI框架,它提供了丰富的图形和媒体功能,支持跨平台运行。这意味着MQTTFX不仅可以在Windows x64系统上运行,还可以在其他支持JavaFX的平台上使用,如Linux和macOS。其1.7.1版本代表了该软件的一个稳定版本,通常包含了多次迭代改进,修复了已知问题,提升了用户体验。 在MQTTFX中,用户可以轻松地连接到MQTT服务器,设置不同的连接参数,如服务器地址、端口、用户名和密码。软件还支持SSL/TLS加密,增强了数据传输的安全性。用户可以订阅和发布主题,查看消息收发情况,以及设置不同级别的QoS(Quality of Service),确保消息的可靠传输。QoS有三个级别:0(至多一次)、1(至少一次)和2(恰好一次),满足不同场景的需求。 此外,MQTTFX提供了一个消息历史记录,允许用户查看过去发送和接收的消息,这对于调试和分析非常有用。用户还可以自定义主题过滤器,只关注特定的通信内容。软件的界面直观,操作简单,即使是对MQTT不熟悉的用户也能快速上手。 在实际应用中,MQTTFX常用于以下场景: 1. 设备开发与调试:开发物联网设备时,MQTTFX可以帮助开发者快速测试设备与MQTT服务器的通信能力。 2. 服务验证:系统集成商可以使用MQTTFX来验证MQTT服务器的配置和性能,确保服务的稳定性和可用性。 3. 教育与学习:对于学习MQTT协议的学生或初学者,MQTTFX提供了一个方便的实践平台,无需编写代码即可理解协议的工作原理。 4. 监控系统:监控MQTT服务器的状态和消息流,便于故障排查和数据分析。 MQTTFX是一款强大而实用的MQTT客户端工具,利用JavaFX技术实现了跨平台的特性,为开发者、测试人员和学习者提供了便利,促进了物联网项目的快速开发和优化。通过压缩包中的"mqttfx-1.7.1-windows-x64.exe"文件,用户可以直接在Windows x64系统上安装和使用这款软件,体验其带来的高效MQTT测试和调试功能。
2024-11-27 16:19:55 50.09MB mqtt客户端
1
### MeterBUS 详尽的协议 英文版 #### 一、引言 MeterBUS(M-Bus)是一种专门设计用于远程抄表系统的通信协议,主要用于家庭和商业环境中的水表、电表、煤气表等公用事业仪表的数据采集。本文档基于参考文献[11]和[12],提供了关于M-Bus的详细且实用的信息,该文档由M-Bus用户组发布。 #### 二、串行总线系统基础 ##### 2.1 应用与定义 M-Bus作为一种串行总线系统,在多种应用场景下都有广泛的应用,例如远程抄表、能源管理等。串行总线系统是指数据以串行方式传输的系统,其特点是数据位按顺序发送或接收,适用于长距离传输。 ##### 2.2 总线系统的基本功能 - **访问技术**:指总线系统中如何控制多个设备对总线的访问,常见的有轮询、令牌传递等。 - **参与者同步**:确保所有连接到总线上的设备能够正确同步,这对于数据的可靠传输至关重要。 - **错误处理**:总线系统需要具备检测和纠正数据传输错误的能力,以保证数据完整性。 ##### 2.3 OSI参考模型 M-Bus协议遵循了OSI(开放系统互连)七层模型,每一层都有特定的功能,包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 #### 三、M-Bus概述 ##### 3.1 对于消费类公用事业仪表的需求 M-Bus设计时考虑到了消费类公用事业仪表的特点,如低成本、低功耗、易于安装等。 ##### 3.2 M-Bus在OSI模型中的位置 M-Bus主要涵盖了OSI模型的物理层、数据链路层和应用层。这些层次为M-Bus提供了从物理信号到数据交换的服务。 #### 四、物理层 ##### 4.1 运作原理 物理层负责将数字信号转换成可以在介质上传输的形式。M-Bus采用了双绞线作为传输介质,并规定了最大传输距离和连接节点的数量。 ##### 4.2 安装规范 为了保证M-Bus系统的稳定运行,必须遵循一定的安装规范,比如线路的长度、分支的限制等。 ##### 4.3 重发器规范 重发器(Repeater)用于扩展M-Bus网络的范围,它可以放大信号并增加节点数量。 ##### 4.4 奴节点设计 奴节点是M-Bus网络中的终端设备,如水表、电表等。它们的设计需考虑功耗、通信速率等因素。 #### 五、数据链路层 ##### 5.1 传输参数 数据链路层定义了传输速率、编码格式等参数,确保数据在物理层上的可靠传输。 ##### 5.2 电报格式 M-Bus电报由多个字段组成,包括起始字符、地址、命令等部分,这些字段共同构成了完整的通信帧。 ##### 5.3 字段含义 每个字段都有其特定的功能,如地址字段用于标识目标设备;命令字段则决定了通信的目的。 ##### 5.4 通信过程 M-Bus通信通常由主设备发起,通过询问或命令的方式与奴节点进行交互。 ##### 5.5 FCB 和 FCV 位及寻址 FCB 和 FCV 位用于确保通信的可靠性,它们可以用来控制数据的确认与重传机制。 #### 六、应用层 ##### 6.1 CI 字段 CI 字段用于标识特定的数据类型,是应用层数据结构的重要组成部分。 ##### 6.2 固定数据结构 固定数据结构包含了基本的通信信息,如设备类型、制造商代码等。 ##### 6.3 变量数据结构 变量数据结构可以根据实际需求动态改变,用于传输具体的测量值和其他信息。 ##### 6.4 配置奴节点 配置奴节点的过程包括设置通信速率、写入数据以及配置数据输出等步骤。 ##### 6.5 通用对象层 通用对象层提供了一种统一的方式来管理和操作M-Bus系统中的对象。 ##### 6.6 应用层状态 应用层状态反映了当前通信的状态,有助于诊断问题和维护系统。 ##### 6.7 特殊奴节点特性 - **自动速度检测**:奴节点可以自动识别最合适的通信速率。 - **碰撞检测**:当多个设备同时发送数据时,系统能够检测并处理冲突。 - **制造编号的使用**:利用制造编号来唯一标识设备,便于管理和跟踪。 - **十六进制代码在BCD数据字段中的使用**:采用十六进制表示法来提高数据的可读性。 #### 七、网络层 ##### 7.1 选择与次级寻址 网络层提供了更高级别的寻址机制,使得系统能够有效地管理和寻址大量的奴节点。 ##### 7.3 FCB 位与选择 FCB 位在网络层中也有应用,它可以帮助确定哪些设备应该响应特定的命令。 ##### 7.4 搜索已安装的奴节点 系统可以通过特定的搜索程序来发现网络中的所有奴节点,这有助于系统的初始化和维护。 #### 八、附录 附录部分包含了各种协议细节和技术标准,如报警协议、数据记录的编码方法等。 MeterBUS(M-Bus)是一种专为远程抄表系统设计的通信协议,它涵盖了从物理层到应用层的各个方面,确保了数据传输的安全性和可靠性。通过对M-Bus协议的深入理解,可以更好地应用于智能计量和能源管理系统中。
2024-11-27 15:22:54 382KB
1
设计要求 背景材料:某农业物联网系统的传感器网络设置了3个温湿度传感器节点、1个CO2浓度传感器节点、1个光照传感器节点,采集的数据经过WIFI网络上传到云端,远端为运行在PC集上的用户端,用户端可以从云端下载数据到本地数据库,然后进行数据操作。同时系统要根据采集到的现场环境实现手动/自动远程控制。 本课程设计要求设计一个农业物联网用户界面软件,给用户提供对数据库操作的功能。 3.1功能要求: ①在本地建立一个基于SQL或者SQLite的农业生产环境数据库; 数据内容包括光照、CO2浓度、温度、湿度、节点工作情况; 从云端下载数据到本地数据库,数据内容根据云端数据情况实时刷新。 ②在本地建立一个用户界面, 提供用户登录功能,通过用户名和密码登录; 界面要显示数据库有关要素; 提供:插入、删除、查询、更新、排序等基本操作; 具有友好的用户界面; 根据采集到的现场环境,模拟自动/手动的远程控制(设计和报告中要能体现出来)。远程控制模拟
2024-11-27 10:03:19 35.37MB
1