网络编程;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 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
LCG米2 小时前
STM32驱动W5500以太网模块实测:TCP吞吐瓶颈定位、TX指针回绕陷阱与断线重连保活落地
stm32·单片机·嵌入式硬件·tcp/ip
pt10433 小时前
Cisco设备网络安全系列-18:SIEM与SOAR安全解决方案
网络·安全
Tel199253080043 小时前
温度湿度信号转WiFi/MQTT/Modbus TCP采集模块 无线传输
网络·网络协议·tcp/ip·工业自动化·工控设备
yyuuuzz4 小时前
云服务器安全组规则优先级的机制记录
运维·服务器·网络·安全·阿里云·aws
youce_1234 小时前
测速跑满,但是打开网页、刷视频总转圈?问题不在带宽
网络·智能路由器
lazy H6 小时前
【计算机网络】第 13 篇:NAT 和端口映射是什么?为什么本地服务外网访问不了?
java·网络·网络协议·学习·计算机网络·408
Linux运维技术栈6 小时前
WAF部署在防火墙后面,获取不到真实IP怎么办?
服务器·网络·tcp/ip·安全·防火墙·waf
低慢小uav7 小时前
(已解决)Zynq芯片lwip协议栈,使用tcp作为服务器Service,接收大量数据时,长度接收正常,接收对数据校验,校验和异常分析
网络协议·tcp/ip·fpga开发
垆边人似月.7 小时前
RDMA项目踩坑(一):为什么最后一块数据必须使用实际长度?
网络·c/c++·rdma·高性能io·tcp与rdma