![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
通信
文章平均质量分 56
本篇讲述常用的通信相关,包括但不限于C++、C#、Java等语言实现
LyRics1996
这个作者很懒,什么都没留下…
展开
-
用C++写一个自己的QQ(八、TCP通信客户端)
一、通信格式通信格式在之前,就已经定好了,采用JSON主要有两个类:1.1 JsonCtrl这个类主要用来拼接和解析Json格式的字符串1.2 MessageCtrl这个类主要用来收发消息后的相关处理二、TCP通信这里很明显要用客户单了,当然我们还是采用HPSocket,不再详细赘述.cpp文件#include "TCPClient.h"#include <string>using namespace std;TCPClient::TCPClient() :m_C原创 2021-09-08 11:44:44 · 733 阅读 · 0 评论 -
用C++写一个自己的QQ(七、客户端界面设计)
一、登录界面一个账户ID,一个密码程序启动时自动TCP连接点击登录,发送id和密码到服务端,服务端从数据库中比较返回登录结果二、客户端界面登录成功后,请求获取联系人列表,使用tree控件显示,并显示在线状态三、聊天窗口双击tree控件中在线的人,弹出聊天窗口,即可开始聊天...原创 2021-09-08 11:35:58 · 810 阅读 · 0 评论 -
用C++写一个自己的QQ(六、TCP通信 数据收发)
一、工程配置TCP通信采用HPSocket,具体使用逻辑不再详细赘述,可以查看我的这篇文章HPSocket的使用(一、利用HPsocket 写一个TCP客户端)二、封装类tcp通信没有什么好说的,这里主要是写一个服务端比较精华的是这个函数,我懒的再写一层类封装一下了,所以看着有些臃肿这个函数主要是用来响应所有的消息,并处理后返回给请求的客户端void CTCPServer::MsgCtrl(CString data, int conID){ CString title; for (a原创 2021-09-08 11:24:24 · 725 阅读 · 0 评论 -
用C++写一个自己的QQ(五、通信数据格式Json)
一、说明说明是JSON,JSON该怎么用,不再详细赘述,可以查看本人的这篇文章:配置文件:CJSON的使用1.1 类型说明枚举了一些类型,登录信息在线信息登出信息其他用户是否在线信息发送信息接收信息联系人信息所有用户信息所有部门信息主管信息部门员工信息指定联系人信息1.2 流程以登录信息的JSON字符串为例通常有两部分构成:消息类型消息内容{ "msg_type": 0, "LOGIN": { "id": 7, "password": "12345原创 2021-09-08 11:14:56 · 505 阅读 · 0 评论 -
用QT写一个TCP通信助手(四、界面交互)
一、初始化做一些界面上的初始化操作,以及TCP类的初始化设置二、连接2.1 模式切换2.2 连接与断开三、发送与接收3.1 发送3.2 接收四、日志五、运行六、完整的MainWindow代码如下,其他代码在对应的文章中.h文件#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <qtcp.h>namespace Ui {class Main原创 2021-08-25 22:38:12 · 709 阅读 · 0 评论 -
用QT写一个TCP通信助手(三、TCP通信)
一、说明首先我们先分析一下:由于不支持多继承,所以比MFC稍微麻烦了一点,但是QT又具有它自身的优势,那就是信号和槽,我们不用开线程去监听一些事件的触发,会方便许多。二、 创建一个TCP类这个类的作用是将客户端和服务端的代码进行一定程度上的统一,便于界面去交互调用。首先有五个基本方法:连接/启动断开连接是否已经连接发送接收其次呢,有一个发射的信号和槽,这是为了监听连接状态最后还有一个Getsocket的方法,这个主要是用来获取socket状态使用.h文件#ifndef QTC原创 2021-08-25 22:27:51 · 935 阅读 · 1 评论 -
用QT写一个TCP通信助手(一、界面设计)
一、新建工程创建QT widgets工程修改项目名称TCPAssistant,下一步下一步直到出现此界面位置删除多余的控件,只保留如下修改title为TCPAssistant。二、界面设计2.1 模式选择增加两个radio button,重命名为客户端和服务端2.2 连接增加一个push button用来作为连接状态显示增加两个Line Edit用来作为IP和port显示和输入增加两个label来说明IP和port增加两个push Button用来作为连接和断开2.3原创 2021-08-23 06:23:24 · 758 阅读 · 0 评论 -
MFC+HPSocket+log4cplus的TCP助手(五、软件交互(二))
一、发送重命名发送相关的edit 和按钮双击发送按钮,编写程序,加入以下代码二、接收重命名list关联变量新开一个定时器1,定时器函数里的代码做如下修改list中的sort属性需要修改为false,不然会自动排序显示文本三、启动...原创 2021-08-22 21:31:43 · 246 阅读 · 0 评论 -
MFC+HPSocket+log4cplus的TCP助手(四、软件交互(一))
一、 连接方式切换客户端和服务端切换先重命名关联变量双击客户端radioserver与上述步骤一致初始化设置为client包含头文件新建TCP成员变量状态切换初始状态点击切换client、server模式二、 连接与断开重命名连接与断开按钮双击连接按钮,编写代码三、修改连接状态提示这里不再赘述按键重绘的具体实现细节重命名连接状态按钮关联变量替换类型右键类向导打开定时器生成函数中加入以下代码四、运行...原创 2021-08-22 21:06:23 · 281 阅读 · 0 评论 -
MFC+HPSocket+log4cplus的TCP助手(三、HPSocket)
一、功能类设计1.1 新建头文件新建一个CTCP.h的头文件,该文件为虚基类(或者说接口),包含TCP通信的基本方法1.2 功能分析连接是否已连接发送接收二、包含HPSocket关于HPSocket怎么使用,可以查看本人单独的文章HPSocket的使用(一、利用HPsocket 写一个TCP客户端),这里不再详细赘述2.1 包含路径2.2 新建工具类新建一个client类,一个server类client类继承public CTcpClientListener,实现四个函原创 2021-08-22 20:11:34 · 441 阅读 · 0 评论 -
C++ TCP server自己写的简单封装
一.前言每次都是重新写,浪费时间,这次写一个,保留一下.二.代码2.1 TCPServer.h#pragma once#include <string>#include <winsock2.h>#include <thread>#include <functional> // std::mem_fn#pragma comment(lib, "Ws2_32.lib")#define DEFAULT_IP "192.168.1.42"原创 2020-11-27 15:21:43 · 2158 阅读 · 1 评论 -
FTP的简单使用(一、利用FTPlib写一个客户端)
一、什么是FTPFTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。二、FTP能做什么FTP的主要作用,就是让用户连接上一个远程计算机(这些计原创 2021-06-13 22:06:25 · 1527 阅读 · 0 评论 -
RabbitMQ的简单原理与操作(一、介绍、安装、编译)
一、什么是RabbitMQrabbitmq是一个开源的AMQP实现,服务器端用erlang语言编写,支持多种客户端。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。二、RabbitMQ解决了什么问题同步变异步 参考地址1:https://www.cnblogs.com/chjxbt/p/11377402.html流量控制 参考地址2:https://blog.csdn.net/liyu121/article/details/89961991服务解耦 参考原创 2021-06-13 21:58:55 · 210 阅读 · 0 评论 -
HPSocket的使用(一、利用HPsocket 写一个TCP客户端)
一、前言什么是HP socket?参考链接:https://www.oschina.net/p/hp-socketHP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等编程语言接口。HP-Socket 对通信层实现完全封装,应用程序不必关注通信层的任何细节;HP-Socket 提供基于事件通知原创 2021-06-13 21:43:57 · 12155 阅读 · 3 评论