嵌入式学习-网络编程-Day1

Day1

思维导图

在这里插入图片描述

作业 实现一下套接字通信

代码

#include<myhead.h>int main(int argc, const char *argv[])
{//1、创建套接字int sfd = socket(AF_INET, SOCK_STREAM, 0);//参数1:通信域:使用的是ipv4通信//参数2:表示使用tcp通信//参数3:协议//2、绑定(必须)IP地址和端口号//2.1准备地址信息结构体struct sockaddr_in sin;sin.sin_family = AF_INET;sin.sin_port = htons(8888);    //端口号sin.sin_addr.s_addr = inet_addr("10.102.145.242");   //ip地址//2.2绑定bind(sfd, (struct sockaddr*)&sin, sizeof(sin));//3、监听,允许客户端链接listen(sfd, 128);//4、接收客户端链接请求int newfd = accept(sfd, NULL, NULL); //5、跟客户端进行通信char buf[128] = "";while(1){//清空数组bzero(buf, sizeof(buf));//从套接字中读取数据read(newfd, buf, sizeof(buf));printf("收到客户端消息为:%s\n", buf);}//6、关闭服务器close(newfd);close(sfd);return 0;
}#include<myhead.h>int main(int argc, const char *argv[])
{//1、创建通信套接字int cfd = socket(AF_INET, SOCK_STREAM, 0);//2、可以不绑定//3、链接服务器//3.1填充要链接的服务器地址struct sockaddr_in cin;cin.sin_family = AF_INET;cin.sin_port = htons(8888);cin.sin_addr.s_addr = inet_addr("10.102.145.242");//3.2链接服务器connect(cfd, (struct sockaddr*)&cin, sizeof(cin));//4、读写数据char buf[128] = "";while(1){printf("请输入>>>");fgets(buf, sizeof(buf), stdin);buf[strlen(buf)-1] = '\0';   //将换行改为'\0'//发送给服务器write(cfd, buf, sizeof(buf));printf("发送成功\n");}//5、关闭客户端close(cfd);return 0;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/623421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法通关村第十四关—数据流的中位数(黄金)

数据流中中位数的问题 LeetCode295,中位数是有序列表中间的数。如果列表长度是偶数&#xff0c;中位数则是中间两个数的平均值。 例如&#xff1a;[2,3,4]的中位数是3 [2,3]的中位数是(23)/22.5 实现 MedianFinder 类: MedianFinder() 初始化 MedianFinder 对象。void addNum(…

从零学Java 多线程(基础)

Java 多线程(基础) 文章目录 Java 多线程(基础)1 多线程1.1 多任务1.2 多线程1.3 普通方法调用和多线程 2 进程和线程2.1 什么是进程(Process)?2.2 什么是线程(Thread)?2.3 进程和线程的区别 3 线程的实现3.1 线程的组成3.2 线程执行特点3.3 线程的创建3.3.1 继承Thread类3.3…

[杂项]如何快速制作CSDN封面

这里写目录标题 一、封面尺寸二、封面制作工具 一、封面尺寸 CSDN的封面尺寸为尺寸 240 135 比例16&#xff1a;9。 二、封面制作工具 制作工具 进入工具后设置好宽度高度背景色&#xff0c;调节好自定义内容后点击最下方的下载按钮&#xff0c;将文件下载到本地后修改文件后…

CAN总线记录仪在车企服务站的应用

CAN总线记录仪在车企服务站的应用 CAN总线记录仪在车企服务站中有着广泛的应用。这种设备可以记录车上的CAN总线数据&#xff0c;方便工程师进行分析&#xff0c;以找出可能存在的问题。CAN记录仪一般采用TF卡来存储数据&#xff0c;实现离线脱机实时存储。数据存储完毕后&…

node各个版本的下载地址

下载地址&#xff1a; https://nodejs.org/dist/ 可以下载多个版本&#xff0c;使用nvm控制切换&#xff08;需要先安装nvm再安装node&#xff09; nvm下载地址&#xff08;访问的是github&#xff0c;请科学上网&#xff0c;下载后解压安装exe即可&#xff09;&#xff1a;h…

《向量数据库指南》RAG 应用中的指代消解——解决方案初探

随着 ChatGPT 等大语言模型(LLM)的不断发展&#xff0c;越来越多的研究人员开始关注语言模型的应用。 其中&#xff0c;检索增强生成&#xff08;Retrieval-augmented generation&#xff0c;RAG&#xff09;是一种针对知识密集型 NLP 任务的生成方法&#xff0c;它通过在生成过…

python入门,数据容器:字典dict

字典作用就和它的名字一样&#xff0c;我们可以通过某个关键字找到它对应的信息&#xff0c;或者讲的高级一点&#xff0c;就是key与value的对应关系 举例&#xff1a; 一场考试小明考了80分&#xff0c;小红考了90分&#xff0c;小东考了95分&#xff0c;在字典里&#xff0…

Python提取PDF中部分页面的实战代码

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【Spring 篇】深入解析SpringMVC的组件魅力

SpringMVC&#xff0c;这个名字在Java Web开发者的耳边仿佛是一首动听的旋律&#xff0c;携着轻盈的氛围&#xff0c;带给我们一种愉悦的编程体验。但是&#xff0c;当我们深入探寻这个框架时&#xff0c;它的魅力远不止表面的简单&#xff0c;它由许多组件构成&#xff0c;每个…

从第一性原理看大模型Agent技术

本文由下面的内部分享视频文字稿重新整理而成 从第一性原理看大模型Agent技术 引 一个乐观主义者的悲观估计 随着大规模模型技术的兴起&#xff0c;我们正处于一个崭新的智能时代的黎明。我们有一个大胆的预测&#xff0c;未来的5到10年将可能带来一场大变局&#xff1a;99%的…

效率交响曲:AIOps 协调卓越运营

作者&#xff1a;来自 Elastic Priscilla_Parodi ​ 在我们探索 AIOps 之前&#xff0c;让我们先澄清一些与不同 Ops 的一些单并非全部相关的关键概念&#xff1a; 1&#xff09;DevOps&#xff1a;开发运维 你可能已经听说过 DevOps。 它是一种通过协作和自动化促进交付来集…

批评与自我批评组织生活会发言材料2024年六个方面

生活就像一场马拉松&#xff0c;成功需要坚持不懈的奔跑。每一步都可能会遇到挫折和困难&#xff0c;但只要你努力向前&#xff0c;坚持不放弃&#xff0c;你就一定能够迎接胜利的喜悦。不要害怕失败&#xff0c;因为失败是成功的垫脚石。相信自己的能力&#xff0c;追求自己的…

翻译: Streamlit从入门到精通 显示图表Graphs 地图Map 主题Themes 二

Streamlit从入门到精通 系列&#xff1a; 翻译: Streamlit从入门到精通 基础控件 一 1. 使用Streamlit显示图表Graphs 1.1 为什么我们需要可视化&#xff1f; 数据可视化通过将数据整理成更容易理解的格式来讲述故事&#xff0c;凸显趋势和异常点。好的可视化能够讲述一个故…

MySQL隐藏密码之mysql_config_editor

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 1. mysql_config_editor介绍 mysql_config_editor是一个MySQL自带的一款用于安全加密登录的工具&#xff0c;使用这个工具&…

STM8入门|第一个工程

开发软件 不支持Keil&#xff0c;使用IAR for STM8&#xff0c;注意 IAR系列有很多种 STM8对应软件是 IAR for STM8 软件下载&#xff1a; 官网下载地址&#xff0c;官网版本下载比较麻烦&#xff0c;可以按教程网盘地址下载。 下载安装教程&#xff1a; https://www.cnblogs…

4. Mybatis 事务和Spring事务关系

大体上分为两种情况&#xff1a;方法上添加了事务注解Transactional 和方法上没有添加事务注解Transactional。 添加了Transactional 注解的在注入 bean 的时候就会被创建代理类&#xff0c;在代理类中使用增强逻辑进行事务处理。没有添加Transactional 注解的&#xff0c;在 …

【JaveWeb教程】(26) Mybatis基础操作(新增、修改、查询、删除) 详细代码示例讲解(最全面)

目录 1. Mybatis基础操作1.1 需求1.2 准备1.3 删除1.3.1 功能实现1.3.2 日志输入1.3.3 预编译SQL1.3.3.1 介绍1.3.3.2 SQL注入1.3.3.3 参数占位符 1.4 新增1.4.1 基本新增1.4.2 主键返回 1.5 更新1.6 查询1.6.1 根据ID查询1.6.2 数据封装1.6.3 条件查询1.6.4 参数名说明 1. Myb…

如何打赢稳定性之战?

文章目录 前言为什么总会出现问题呢&#xff1f;如何证明你的稳定性做的有效果&#xff1f;既是持久战&#xff0c;也是防御战1. 提前建筑好防御工事2. 以攻为守3. 找外部支援和配合 前言 随着23年年末期间&#xff0c;各大厂争先恐后的出现的各种线上故障&#xff0c;一时间“…

帆软使用总结-动态分组背景变色

1.开发界面设计 提示&#xff1a; ROUNDUP((ROW() - M) / N, 0) % 2 0row() 获取当前行号 M 标题行数 N 间隔行数 ROUNDUP() 向上取整 如果被2整除&#xff0c;改变背景颜色 当前公式&#xff1a;ROUNDUP((ROW() - 2) / 3, 0) % 2 02.效果演示

【题解】—— 每日一道题目栏

2024.1 【题解】—— LeetCode一周小结1 1. 1599. 经营摩天轮的最大利润 2. 466. 统计重复个数 3. 2487. 从链表中移除节点 4. 2397. 被列覆盖的最多行数 5. 1944. 队列中可以看到的人数 6. 2807. 在链表中插入最大公约数 7. 383. 赎金信 【题解】—— LeetCode一周小…