• 2024-07-01利用阿里云API获取实时天气信息|C语言Linux网络编程练手小项目
    文章目录目录文章目录前言一、HTTP数据请求1.HTTP概述2.数据请求方式3.JSON格式二、阿里云API获取,使用1.购买(白嫖)API接口步骤2.API使用代码编写3.编译程序 4.运行结果总结前言在项目开发时常常需要显示各种信息,如时间、天气、温度、空气质量指数等等。在
  • 2024-06-23Flash均衡读写
    #defineFLASH_INITIAL_BYTE0xff #definePAGE_NUM_PER_CONFIG       2 #defineCONFIG_FLASH_PAGE_START     508#defineCONFIG_BUF_SIZEsizeof(CFG_CHARGE_ST)/2#define  CONFIG_FLASH_ADDRESS_START
  • 2024-06-20【网络调优】Linux网络端口随机分配问题
    1.Linux端口基础1.端口号0不使用2.端口号1-1023,系统默认只给root使用3.端口号1024-4999由客户端程序自由分配4.端口号5000-65535由服务器程序自由分配2.Linux默认随机端口范围一般Linux的默认随机端口范围是:32768-60999(可以通过查看配置文件的方式来获取)当客户端port
  • 2024-06-17由心知天气服务器响应的实时天气数据并进行JSON解析
    由心知天气服务器响应的实时天气数据并进行JSON解析#include<netinet/in.h>#include<arpa/inet.h>#include<stdio.h>#include<errno.h>#include<sys/socket.h>#include<netinet/in.h>#include<netinet/ip.h>#include<arpa/inet.h>
  • 2024-06-17用动态链接动态泄露system地址并利用
    已知libc库的情况在动态编译的程序中,如果没有对system函数的直接调用,在plt中就不会存在system函数,也就是不能直接知道system函数的地址在解决动态编译的二进制文件之前,需要了解动态链接的基础知识,这个过程叫作lzy-binding。程序对外部函数的调用要求在生成可执行文件时将外部函
  • 2024-06-17【网络编程开发】17.“自动云同步“项目实践
    17."自动云同步"项目实践文章目录17."自动云同步"项目实践项目简介功能需求需求分析实现步骤1.实现TCP通信server.c服务端tcp.hclient.c客户端函数封装tcp.ctcp.hserver.cclient.c编译运行2.实现文件传输sever.cclient.ctcp.ctcp.hMakeifle编译运行3.实现用文件名
  • 2024-06-16HAL库开发--I2C的配置方式和读写操作
    知不足而奋进望远山而前行目录知不足而奋进望远山而前行​编辑文章目录前言目标内容需求I2C功能配置I2C编码移植PCF8563驱动I2C读写实现总结前言在嵌入式系统开发中,I2C(Inter-IntegratedCircuit)总线是一种常见且重要的通信协议,用于连接多种外设和传感器,实现
  • 2024-06-15Linux实验八:流式套接字编程
    目录一、实验目的二、实验内容三、实验环境四、参考代码五、实验步骤步骤1.编辑源代码blockserver.c和blockclient.c步骤2.编译源代码blockserver.c和blockclient.c步骤3.运行可执行程序blockserver和blockclient六、实验结果七、实验总结一、实验目的1、深入
  • 2024-06-15【网络编程开发】14.广播和组播
    14.广播和组播什么是广播数据包发送方式只有一个接受方,称为单播如果同时发给局域网中的所有主机,称为广播只有用户数据报(使用UDP协议)套接字才能广播广播地址一个网络内主机号全为1的IP地址为广播地址发到该地址的数据包被所有的主机接收255.255.255.255在所有网段中都
  • 2024-06-15【网络编程开发】16.域名解析与http服务器实现原理
    16.域名解析与http服务器实现原理gethostbyname函数原型:#include<netdb.h>structhostent*gethostbyname(constchar*hostname);功能:获取主机名对应的IP地址参数:hostname:要查询的主机名。返回值:成功时,返回一个指向hostent结构的指针。失败时,返回NULL。
  • 2024-06-13TCP协议的客户端和服务端的多路复用
    #include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<arpa/inet.h>#include<unistd.h>#include<string.h>#include<sys/time.h>#include<sys/select.h> intmain(void){   //1.创建套接字
  • 2024-06-13使用getaddrinfo函数来获取并打印出www.baidu.com的所有IP地址(IPv4和IPv6)
    #include<stdlib.h>#include<string.h>#include<sys/types.h>#include<sys/socket.h>#include<netdb.h>#include<arpa/inet.h>intmain(){structaddrinfohints,*res,*p;intstatus;charipstr[INET6_AD
  • 2024-06-13pwn学习-栈迁移
    栈迁移:简单理解就是在栈溢出的时候可溢出的字符过少,只能溢出ebp和ret的地址,可以使用leave_ret这个gadget来实现栈的迁移。在栈中,默认情况下汇编语言在栈结束的时候都默认会执行一次leave和ret指令,我们利用这个特性将返回地址修改为leave_ret的gadget,将会执行两次leave和ret的操
  • 2024-06-12模拟epoll的饥饿场景
    说明一直听说epoll的饥饿场景,但是从未在实际环境中面对过,那么能不能模拟出来呢?实际的情况是怎样呢?模拟步骤基于epoll写一个简单的tcpechoserver,将每次read返回的字节数打印出来模拟一个客户端大量写入测试其他客户端能否正常返回Server代码#include<stdio.h>#include
  • 2024-06-12python-爬虫-邮箱发送
    #-*-coding:utf-8-*-#发送信息到邮箱importemail.utilsimportsmtplibfromemail.mime.textimportMIMEText#发送文本fromemail.mime.imageimportMIMEImage#发送图片fromemail.mime.multipartimportMIMEMultipartfromemail.headerimportHeader""&quo
  • 2024-06-11Exercise:JSON解析
    练习:利用某些平台(聚合API、百度A、科大讯飞API)的API接口,利用HTTP协议向服务器发送请求,并接受服务器的响应,要求利用cISON库对服务器的响应数据进行解析,并输出到终端。/************************************************************************************************
  • 2024-06-11基于服务器响应的实时天气数据进行JSON解析的详细代码及其框架
    #include<netinet/in.h>#include<arpa/inet.h>#include<stdio.h>#include<errno.h>#include<sys/socket.h>#include<netinet/in.h>#include<netinet/ip.h>#include<arpa/inet.h>#include<sys/socket.h&g
  • 2024-06-11【网络编程开发】11.IO模型 12.IO多路复用
    11.IO模型什么是IO:IO是Input/Output的缩写,指的是输入和输出。在计算机当中,IO操作通常指将数据从一个设备或文件中读取到计算机内存中,或将内存中的数据写入设备或文件中。这些设备可以包括硬盘驱动器、网卡、键盘、屏幕等。通常用户进程中的一个完整I/O分为两个阶段
  • 2024-06-11http与cJSON练习
    http与cJSON练习/*****************************************************************************************************weather_test.c*练习tcp连接,与http协议,调用服务器接口,实现获取特定城市的天气信息,并用cJSO
  • 2024-06-11多线程实现并发
    多线程并发服务器架构void*thread_fun(void*arg){ while(1){ recv()/send() } }scokfd=socket()bind()listen()while(1){ accept() //连上就创建线程 pthread_create(,,thread_fun,) pthread_detach()}案例/*#Multi-processconcurren
  • 2024-06-11利用聚合API平台的API接口,利用HTTP协议向服务器发送请求,并接受服务器的响应,要求利用cJSON库对服务器的响应数据进行解析,并输出到终端
    目录题目分析代码结果题目利用聚合API平台的API接口,利用HTTP协议向服务器发送请求,并接受服务器的响应,要求利用cJSON库对服务器的响应数据进行解析,并输出到终端分析1.需从源代码网站GitHub或SourceForge代码网站下载cJSON库及阅读下载的README相关手册如何使用cJSON库;2.使用
  • 2024-06-11网络编程练习题
    网络编程代码#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<stdio.h>#include<errno.h>#include<sys/socket.h>#include<netinet/in.h>#include<netinet/ip.h>#include<arpa
  • 2024-06-11Navicat导入json文件(json文件数据导入到MySQL表中)
    天行健,君子以自强不息;地势坤,君子以厚德载物。每个人都有惰性,但不断学习是好好生活的根本,共勉!文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。文章目录一、介绍二、准备工作1.工具2.建表3.Json文件三、JSON文件数据导入MySQL表1.导入文件入口2.
  • 2024-06-11嵌入式开发-基于物联网的智能农场项目
    项目的github地址:https://github.com/zhangruyi3906/smartFarm/总结:第一天实训总体十分的轻松每天坚持写技术日志认真写好工程实践报告M0开发板的控制命令的格式:环境:十六进制36字节BBID2400命令格式:十六进制----36个字节DD id2400 00---开灯DD i
  • 2024-06-11linux内存管理(二)- vmalloc
    个人笔记,谨慎观看.先看看vmalloc是怎么实现的。它能在非连续物理内存之上建立连续的虚拟内存映射。这里有一篇博客Linux内存管理(6)vmalloc-ArnoldLu-博客园(cnblogs.com)调用链vmalloc->_vmalloc_node->_vmalloc_node_rangevoid*__vmalloc_node(unsignedlongsize,