网络编程
文章平均质量分 55
关于网络协议的介绍
路过的小熊~
有限的时间做有用的事
展开
-
Http和websocket性能场景对比分析
Http和websocket性能场景对比分析原创 2022-12-05 21:35:05 · 1953 阅读 · 0 评论 -
linux使用epoll进行socket编程
linux使用epoll进行socket编程转载 2022-09-04 11:09:08 · 850 阅读 · 0 评论 -
Ubuntu16.04 搭建MQTT服务器
Ubuntu16.04 搭建MQTT服务器转载 2022-08-01 19:53:36 · 513 阅读 · 0 评论 -
Linux MQTT协议测试环境搭建与测试
Linux MQTT协议测试环境搭建与测试原创 2022-07-23 11:13:16 · 225 阅读 · 0 评论 -
Linux c语言实现 http文件传输
linux c 实现http文件传输转载 2022-07-17 16:29:59 · 709 阅读 · 1 评论 -
Linux 查看网络是否断开(方式三)
原理在命令行查看 /sys/class/net/eth0/carrier 即可知道网线是否拔了.carrier:1 ----网线正常carrier:0 ----网线断开 拔掉网线的时候,同时debug也会输出提示 eth0 link down只需要在应用层程序里面,读取carrier中的值 即可实现uint8_t eth0_status[2] ;int skfd, eth0_ret ;skfd = open("/sys/class/net/eth0/car原创 2022-03-15 22:37:23 · 2617 阅读 · 1 评论 -
Linux检测网络断开方式二(轮询)
原理linux下的ifconfig命令就能够实现在应用层监控网线插拔状态, 所以通过ifconfig的RUNNING判断网络情况.1、插网线:$ ifconfig eth0eth0 Link encap:Ethernet HWaddr 06:ED:B5:C3:AA:23UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:12、拔网线:$ ifconfig eth0eth0 Link encap:Ethernet HWad转载 2022-03-15 22:23:16 · 1270 阅读 · 0 评论 -
Linux socket检测网络物理断开(方式一)
今天尝试用Netlink来捕捉一下网络接口信息,实现的主要功能是实时打印发生变化的网络接口的序列号、上下线状态和接口名称。为了创建一个 netlink socket,用户需要使用如下参数调用 socket():fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE); 第一个参数必须是 AF_NETLINK 或 PF_NETLINK,在 Linux 中,它们俩实际为一个东西,它表示要使用netlink,第二个参数必须是SOCK_RAW或SOCK_DGRAM转载 2022-03-15 22:00:50 · 3281 阅读 · 0 评论 -
Linux应用编程之Socket TCP编程
Socket是应用层与协议族通信的中间软件抽象层,它是一组接口。先附图一张,虽然是讲解TCP的socket,但是道理相通1.基本socket函数Linux系统是通过提供套接字(socket)来进行网络编程的。网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符。socket也有一个类似于打开文件的函数:socket(),调用socket(),该函数返回一个整型的socket的描述符,随后的连接建立、数据传输等操作也都是通过该socket实现。1、socket函数synt转载 2021-12-30 15:29:54 · 271 阅读 · 0 评论 -
Linux UDP编程
简介UDP协议与TCP协议一样用于处理数据包,在OSI模型中,两者都位于传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。代码实现#ifndef _SOCKET_HPP_#define _SOCKET_HPP_#include <iostream>#include <sstream>#include <exception>#include <strin原创 2022-03-13 20:38:38 · 3386 阅读 · 0 评论 -
Windos应用程序之tcp检测断开机制
简介本文章介绍当tcp建立链接后检测断开的方式。(不考虑用户程序自己建立心跳的机制)断开的方式归纳起来应该有两种:①正常运行,建立连接的双方其中一方主动断开。②中途,网线断开。对于①的情况,会通过网线,断开的一方会继续将断开情况告知对方,此时,我们在程序中可以根据sock的属性来知道连接状态。具体实现int tcp_is_connected(int fd){ struct tcp_info info; int len = sizeof(info); if (fd转载 2022-03-11 16:01:48 · 1921 阅读 · 3 评论 -
TCP 长连接--客户端用select检测是否与服务器断开
废话不多说,直接上代码代码实现int lSockFd = searchHelper->GetFd();fd_set read_set;struct timeval t_o;FD_ZERO(&read_set);FD_SET(lSockFd, &read_set);t_o.tv_sec = 1;/* 超时秒数*/int ret = select(lSockFd + 1, &read_set, NULL, NULL, &t_o);char buf[100]转载 2022-03-09 14:41:09 · 1300 阅读 · 0 评论 -
关于MQTT协议及其应用
MQTT简介MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,它是一种轻量级的、基于代理的“发布/订阅”模式的消息传输协议。其具有协议简洁、小巧、可扩展性强、省流量、省电等优点,而且已经有PHP,JAVA,Python,C,C#,Go等多个语言版本,基本可以使用在任何平台上,几乎可以把所有联网物品和外部连接起来,所以特别适合用来当做物联网的通信协议。MQTT特点MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网转载 2022-03-01 22:53:56 · 1663 阅读 · 0 评论 -
libcurl 实现PUT和get
#include <string>#include <iostream>#include <curl/curl.h>1.相关代码实现//使用示例/*int main(int argc, char *argv[]) { CURLcode code; std::string r1 = get("http://qtdebug.com/html/data.json"); qDebug() << QString::fromUtf8原创 2022-01-24 16:54:37 · 833 阅读 · 0 评论 -
libcurl error while loading shared libraries: libcurl.so.4解决办法
提示找不到 libcurl 这个库文件。解决方案:我细想了一下。找不到库就两种原因:1、库路径不对2 编译时没有指定 -lcurl3、没有配置环境变量, 在/etc/profile文件下添加export LD_LIBRARY_PATH=./curl-7.71.1/lib/需要配置永久环境变量的话,请查看:https://blog.csdn.net/jinchi_boke/article/details/118423295...原创 2022-01-20 16:16:07 · 1577 阅读 · 0 评论 -
Openssl 安装及其编译项目时库丢失问题解决方法
1.安装对应库1.Linux平台1.方式一sudo apt-get install opensslsudo apt-get install libssl-dev2.方式二wget https://www.openssl.org/source/openssl-1.1.1g.tar.gztar -xzvf openssl-1.1.1g.tar.gz cd openssl-1.1.1g/./configmakesudo make install2.Windows平台1.openssl原创 2022-01-18 11:50:09 · 1838 阅读 · 0 评论