网络编程;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文件传输

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

相关推荐
心.c5 分钟前
TCP协议深入解析
网络·网络协议·tcp/ip
摇滚侠8 分钟前
HTTP 404 - No response body available
网络·网络协议·http
全栈工程师修炼指南13 分钟前
Nginx | stream content 阶段:TCP 协议四层反向代理浅析与实践
运维·网络·网络协议·tcp/ip·nginx
Trouvaille ~22 分钟前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
CSCN新手听安33 分钟前
【linux】网络基础(三)TCP服务端网络版本计算器的优化,Json的使用,服务器守护进程化daemon,重谈OSI七层模型
linux·服务器·网络·c++·tcp/ip·json
REDcker1 小时前
埋点系统设计:从成熟工具到自建方案
运维·服务器·网络·用户分析·埋点·埋点系统
优橙教育2 小时前
通信行业四大热门岗位解析:谁才是数字时代的黄金赛道?
网络·学习·5g
迎仔2 小时前
11-云网络与混合云运维:弹性数字世界的交通管理
网络·安全·web安全
Trouvaille ~2 小时前
【Linux】应用层协议设计实战(二):Jsoncpp序列化与完整实现
linux·运维·服务器·网络·c++·json·应用层
pitch_dark2 小时前
渗透测试系统基础篇——kali系统
网络·安全·web安全