网络编程;TCP控制机械臂;UDP文件传输;0910;ps今天没写出来

思维导图


TCP机械臂控制

复制代码
#include<myhead.h>
#define SER_IP "172.20.10.8" //服务器ip地址 写我的win地址
#define SER_PORT 8888	       //服务器端口号
#define CIL_IP "172.20.10.3" //客户端ip地址 写ubuntu的win地址
#define CIL_PORT 7777	       //客户端口号
int main()
{
	//1.创建用于通信的套接子文件描述符
	int cfd = socket(AF_INET,SOCK_STREAM,0);
	if(cfd == -1)
	{
		perror("socket error");
		return -1;
	} 
	//应该需要加一个 套接字属性的设置 端口可以立即使用
	int reuse=1;
	if(setsockopt(cfd,SOL_SOCKET,SO_REUSEADDR,&reuse,sizeof(reuse))==-1)
	{
		perror("setsockopt error");
		return -1;
	}
	//2.给客户端套接字 绑定ip地址和端口号
	//2.1填充地址信息结构体
	struct sockaddr_in cin;
	cin.sin_family = AF_INET;
	cin.sin_addr.s_addr=inet_addr(CIL_IP);
	cin.sin_port = htons(CIL_PORT);
	//2.2绑定
	if(bind(cfd,(struct sockaddr*)&cin,sizeof(cin))==-1)
	{
		perror("bind error");
		return -1;
	}
	//3.连接服务器
	//3.1组装对端地址信息结构体
	struct sockaddr_in sin;
	sin.sin_family = AF_INET;	//通信域
	sin.sin_addr.s_addr = inet_addr(SER_IP);//要连接的服务器ip
	sin.sin_port = htons(SER_PORT);//服务器的端口号
	//3.2连接操作
	if(connect(cfd,(struct sockaddr*)&sin,sizeof(sin))==-1)
	{
		perror("connect error");
		return -1;
	}

	char rbuf[5] = {0xff,0x02,0x00,0xff}; //红色臂初始位置
	unsigned char bbuf[5]={0xff,0x02,0x01,0xff};//蓝色臂初始位置

	//将上面的数据分别发送给服务器
	send(cfd,rbuf,sizeof(rbuf),0);
	send(cfd,bbuf,sizeof(bbuf),0);

	//4.数据通信
	char buf[128]="";//应该是 往buff里输入wasd ,进行判断
	while(1)
	{
		//要回顾一些io
		//不太回 回忆不起来
		printf("输入移动:");
		scanf("%s",&buf);
		if(strcmp(buf,"w")==0)
		{
		rbuf[3]+=2;//然后在这个循环里面改变 rbuf和bbuf的 
			   //再把位置信息发送到机械臂
		}
	}



	//5.关闭套接字
	close(cfd);

	return 0;
}

UDP文件传输

没写出来 状态不佳 明天继续吧

相关推荐
左手厨刀右手茼蒿1 小时前
Flutter 组件 http_requests 适配鸿蒙 HarmonyOS 实战:极简网络请求,构建边缘端轻量级 RESTful 通讯架构
网络·flutter·http
江南风月1 小时前
日志审计系统WGLOG支持syslog吗
运维·网络·日志审计
Blurpath住宅代理2 小时前
代理IP全面解析:从协议原理到高阶应用场景的技术指南
网络·静态ip·动态代理·住宅ip·住宅代理
聊点儿技术3 小时前
利用IP归属地查询识别异地登录风险:企业账号安全的技术探索
数据库·tcp/ip·安全
晏宁科技YaningAI3 小时前
全球短信路由系统设计逻辑打破 80%送达率瓶颈:工程实践拆解
网络·网络协议·架构·gateway·信息与通信·paas
WIN-U64 小时前
新版华三H3C交换机配置NTP时钟步骤 示例(命令及WEB配置)
网络协议·tcp/ip·http
爱学习的小囧4 小时前
ESXi 8.0 无法选择分区方式 小白级详细解决办法
运维·服务器·网络·虚拟化·esxi8.0
F1FJJ4 小时前
什么是 Shield CLI?视频讲解:一条命令,可浏览器远程访问一切内部服务(RDP/VNC/SSH/数据库等)
运维·网络·数据库·网络协议·ssh
南湖北漠5 小时前
听说拍照的人会拿相似的鱼皮豆代替野生鹌鹑蛋拍照(防原创)
网络·人工智能·计算机网络·生活
一个有温度的技术博主5 小时前
网安实验系列四:信息收集-旁站、C段信息
网络