work 3/1

1>机械臂

#include <head.h>
#define SER_POTR 8899
#define SER_IP "192.168.125.223"
int main(int argc, const char *argv[])
{//创建套接字int cfd=socket(AF_INET,SOCK_STREAM,0);if(cfd==-1){perror("");return -1;}//链接struct sockaddr_in sin;sin.sin_family=AF_INET;sin.sin_port=htons(SER_POTR);sin.sin_addr.s_addr=inet_addr(SER_IP);if(connect(cfd,(struct sockaddr*)&sin,sizeof(sin))==-1){perror("connect error:");return -1;}char red[5]={0xff,0x02,0x00,0x00,0xff};unsigned char blue[5]={0xff,0x02,0x01,0x8a,0xff};while(1){char cmd;printf("请输入命令:");scanf("%c",&cmd);getchar();switch(cmd){case 'w':{red[3]+=10;send(cfd,red,sizeof(red),0);break;}case 's':{red[3]-=10;send(cfd,red,sizeof(red),0);break;}case 'a':{blue[3]-=10;send(cfd,blue,sizeof(blue),0);break;}case 'd':{blue[3]+=10;send(cfd,blue,sizeof(blue),0);break;}default:{printf("输入有误\n");}}}return 0;
}

2> 使用tftp实现简单文件的上传

#include <head.h>
#define SER_PORT 69
#define SER_IP "192.168.125.223"
int link_file()
{int sfd=socket(AF_INET,SOCK_DGRAM,0);if(sfd==-1){perror("socket error");return -1;}return sfd;
}
int filedownload()
{//创建文件描述符用于下载传输过来的数据包int wfd=-1;if((wfd=open("./copy_file",O_WRONLY|O_CREAT|O_TRUNC,0664))==-1){perror("open error:");return -1;}struct sockaddr_in sin;sin.sin_family=AF_INET;sin.sin_port=htons(SER_PORT);sin.sin_addr.s_addr=inet_addr(SER_IP);socklen_t socklen=sizeof(sin);int sfd=-1;if((sfd=link_file())==-1){printf("链接失败\n");return -1;}//封装请求下载数据包//第一块char buf[516]="";short *p1=(short*)buf;*p1=htons(1);//第二模块printf("请输入你要下载的文件:");char file[50];scanf("%s",file);char *p2=buf+2;strcpy(p2,file);//第三模块char *p3=p2+strlen(p2)+1;strcpy(p3,"octet");int len=4+strlen(p2)+strlen(p3);sendto(sfd,buf,len,0,(struct sockaddr*)&sin,sizeof(sin));while(1){int res=0;if((res=recvfrom(sfd,buf,sizeof(buf),0,(struct sockaddr*)&sin,&socklen))<0){perror("recvfrom error:");return -1;}char *data_point=buf+4;short *cmd_point=(short*)buf;short *block_point=(short*)(buf+2);if(res<516){write(wfd,data_point,res-4);printf("文件拷贝完成!\n");break;}write(wfd,data_point,512); //完成了一次拷贝要向客户端发送ACK包char ack[4];short *p1=(short*)ack;short *p2=(short*)(ack+2);*p1=htons(4);*p2=*block_point;sendto(sfd,ack,4,0,(struct sockaddr*)&sin,sizeof(sin));}
}
int onload()
{int sfd=link_file();system("ls");printf("请问你要上传的文件是:");char file[50];scanf("%s",file);//未完成
}
int main(int argc, const char *argv[])
{while(1){printf("==========欢迎使用文件下载客户端==========\n");printf("1、下载文件\t2、上传文件\t0、退出\n");printf("请输入你要执行的操作:");int cmd;scanf("%d",&cmd);switch(cmd){case 1:{filedownload();break;}case 2:{//fileonload();break;}case 0:{system("clear");return 0;}default:{printf("输入有误\n");}}system("clear");}return 0;
}

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

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

相关文章

一文搞懂浏览器缓存机制

文章目录 概述强制缓存协商缓存总结参考文章 概述 浏览器的缓存机制也就是我们说的HTTP缓存机制&#xff0c;其机制是根据HTTP报文的缓存标识进行的 浏览器第一次向服务器发送HTTP请求, 浏览器拿到请求结果后&#xff0c;会根据响应报文的缓存标识&#xff0c;决定是否进行缓存…

机器学习:数据处理基操

在处理完数据之后&#xff0c;选择好模型&#xff0c;就可以用训练集训练模型&#xff0c;用测试集输入模型 然后输出需要预测的结果啦&#xff5e; 一、模块导入 import numpy as np import pandas as pd #读入数据 二、pandas数据 一、dataframe基础 一、dataframe的创建…

github新手使用详解及环境搭建案例

对于 GitHub 的新手使用以及环境搭建&#xff0c;以下是详细的步骤和案例&#xff1a; 一、GitHub 新手使用详解 注册 GitHub 账号&#xff1a;首先&#xff0c;你需要在 GitHub 官网上注册一个账号。填写必要的个人信息&#xff0c;如用户名、邮箱和密码等。注册完成后&…

【代码】Android|判断asserts下的文件存在与否,以及普通文件存在与否

作者版本&#xff1a;Android 11及以上 主要是发现网上没有完整的、能跑的代码&#xff0c;不知道怎么回事&#xff0c;GPT给我重写的。我只能保证这个代码尊嘟能跑&#xff0c;不像其他的缺胳膊少腿的。 asserts 贴一下结果&#xff1a; boolean isAssertFileExists(String …

Nginx配置php起WoWSimpleRegistration服务

WoWSimpleRegistration服务的git地址&#xff1a; GitHub - TrinityCore/WoWSimpleRegistration: Simple Registration page for TrinityCore/AzerothCore/AshamaneCore/CMangos 下载WoWSimpleRegistration 首先git下载&#xff1a; git clone https://github.com/TrinityC…

kafka消费者接收不到消息

背景&#xff1a; 对kafka消息进行监听&#xff0c;生产者发了消息&#xff0c;但是消费端没有接到消息&#xff0c;监听代码 消费端&#xff0c;kafka配置 spring.kafka.bootstrap-serverskafka.cestc.dmp:9591 spring.kafka.properties.sasl.jaas.configorg.apache.kafka.…

29.HarmonyOS App(JAVA)通知

普通通知: 通知渠道,弹出消息后&#xff0c;自动消失 长文本通知 //多行文本通知 //图片通知 //社交通知 //媒体通知--经测试&#xff0c;图片无法显示&#xff0c;文字不显示 场景介绍 HarmonyOS提供了通知功能&#xff0c;即在一个应用的UI界面之外显示的消息&#xff0c;主…

C++之结构体以及通讯录管理系统

1&#xff0c;结构体基本概念 结构体属于自定义的数据概念&#xff0c;允许用户存储不同的数据类型 2&#xff0c;结构体的定义和使用 语法&#xff1a;struct 结构体名{ 结构体成员列表}&#xff1b; 通过结构体创建变量的方式有三种&#xff1a; 1&#xff0c;struct …

【简说八股】面试官:你知道什么是AOP么?

回答 AOP(Aspect-Oriented Programming)&#xff0c;即面向切面编程&#xff0c;是一种编程范式&#xff0c;它的主要思想是将应用程序中的横切关注点&#xff08;如日志记录、性能统计、安全控制等&#xff09;从业务逻辑中剥离出来&#xff0c;然后通过特殊的方式将这些横切…

设计模式学习笔记 - 设计原则 - 8.迪米特法则(LOD)

前言 迪米特法则&#xff0c;是一个非常实用的原则。利用这个原则&#xff0c;可以帮我们实现代码的 “高内聚、松耦合”。 围绕下面几个问题&#xff0c;来学习迪米特原则。 什么是 “高内聚、松耦合”&#xff1f;如何利用迪米特法则来实现 高内聚、松耦合&#xff1f;哪些…

程序员求职

程序员的金三银四求职宝典 随着春天的脚步渐近&#xff0c;对于许多程序员来说&#xff0c;一年中最繁忙、最重要的面试季节也随之而来。金三银四&#xff0c;即三月和四月&#xff0c;被广大程序员视为求职的黄金时期。在这两个月里&#xff0c;各大公司纷纷开放招聘&#xf…

技术实践|百度安全「大模型内容安全」高级攻击风险评测

1、引子 2023年10月16日&#xff0c;OWASP发布了《OWASP Top 10 for LLM Applications》&#xff0c;这对于新兴的大语言模型安全领域&#xff0c;可谓一份纲领性的重要报告。 OWASP是开放式Web应用程序安全项目&#xff08;Open Web Application Security Project&#xff0…

【Linux网络命令系列】ping curl telnet三剑客

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【C++】vector的使用和模拟实现(超级详解!!!!)

文章目录 前言1.vector的介绍及使用1.1 vector的介绍1.2 vector的使用1.2.1 vector的定义1.2.2 vector iterator 的使用1.2.3 vector 空间增长问题1.2.3 vector 增删查改1.2.4 vector 迭代器失效问题。&#xff08;重点!!!!!!&#xff09;1.2.5 vector 在OJ中有关的练习题 2.ve…

C++入门和基础

目录 文章目录 前言 一、C关键字 二、命名空间 2.1 命名空间的定义 2.2 命名空间的使用 2.3 标准命名空间 三、C输入&输出 四、缺省参数 4.1 缺省参数的概念 4.2 缺省参数的分类 五、函数重载 5.1 函数重载的简介 5.2 函数重载的分类 六、引用 6.1 引用的…

搭建个人IC_EDA服务器(物理机)一:安装Centos7

1.准备 大于8G的U盘&#xff1b;待装的电脑&#xff0c;我使用淘汰的在大学时候使用的笔记本&#xff1b;U盘启动器制作工具&#xff1a;UltralSo&#xff1b;官网下载的在没有付费的情况下&#xff0c;即使试用期&#xff0c;安装的时候会有莫名的问题&#xff0c;建议使用这…

【接口测试】常见HTTP面试题

目录 HTTP GET 和 POST 的区别 GET 和 POST 方法都是安全和幂等的吗 接口幂等实现方式 说说 post 请求的几种参数格式是什么样的&#xff1f; HTTP特性 HTTP&#xff08;1.1&#xff09; 的优点有哪些&#xff1f; HTTP&#xff08;1.1&#xff09; 的缺点有哪些&#x…

全量知识系统问题及SmartChat给出的答复 之14 解析器+DDD+文法型 之2

Q36. 知识系统中设计的三种文法解析器和设计模式之间的关系 进一步&#xff0c;我想将 知识系统中设计的三种语言&#xff08;形式语言、人工语言和自然&#xff09;的文法解析器和DDD中的三种程序类型&#xff08;领域模型、领域实体和领域服务&#xff09; 形式语言文法 我…

动态代理总结

Java 代理模式 使用代理对象来代替对真实对象(real object)的访问&#xff0c;这样就可以在不修改原目标对象的前提下&#xff0c;提供额外的功能操作&#xff0c;扩展目标对象的功能 静态代理 静态代理在编译时就将接口、实现类、代理类这些都变成了一个个实际的 class 文件…

MQ如何防止消息被重复消费?

被询问如何防止MQ消息被重复消费时&#xff0c;其实是在考察候选人对消息队列、分布式系统设计以及容错机制的理解&#xff0c;通过这些问题&#xff0c;可以全面了解候选人在处理MQ消息重复消费问题时的思考方式、技术能力和实践经验&#xff0c;从而评估其是否适合担任相关岗…