day03 1.多点通信

作业

1.通过w(红色臂角度增大)s(红色臂角度减小)d(蓝色臂角度增大)a(蓝色臂角度减小)按键控制机械臂

注意:关闭计算机的杀毒软件,电脑管家,防火墙

#include<myhead.h>
 
#define SER_PORT 8888             //与服务器保持一致
#define SER_IP  "192.168.0.102"    //服务器ip地址
#define CLI_PORT 6666               //客户端端口号
#define CLI_IP  "192.168.0.129"     //客户端ip地址
 
 
int main(int argc, const char *argv[])
{
	//1、创建用于通信的套接字文件描述符
	int cfd = socket(AF_INET, SOCK_STREAM, 0);
	if(cfd == -1)
	{
		perror("socket error");
		return -1;
	}
	printf("cfd = %d\n", cfd);             //3
	
	/*2、绑定IP地址和端口号
	//2.1 填充地址信息结构体
	struct sockaddr_in cin;       
	cin.sin_family = AF_INET;       //通信域
	cin.sin_port = htons(CLI_PORT);    //端口号
	cin.sin_addr.s_addr = inet_addr(CLI_IP);    //ip地址
 
	//2.2 绑定工作
	if(bind(cfd, (struct sockaddr*)&cin, sizeof(cin)) == -1)
	{
		perror("bind error");
		return -1;
	}
	printf("bind success\n");
	*/
 
	
	//3、连接到服务器
	//3.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);     //服务器ip地址
 
	//3.2 连接服务器
	if(connect(cfd, (struct sockaddr*)&sin, sizeof(sin)) == -1)
	{
		perror("connect error");
		return -1;
	}
	printf("连接服务器成功\n");

	//准备数据
	char rbuf[5] = {0xff, 0x02, 0x00, 0x10, 0xff};
	char bbuf[5] = {0xff, 0x02, 0x01, 0x10, 0xff};
 
 	//发送给服务器,以初始化机械臂
	send(cfd, rbuf,sizeof(rbuf), 0);
	sleep(1);
	send(cfd, bbuf,sizeof(bbuf), 0);

    char buff;
    while(1)
    {
        scanf("%c",&buff);
        getchar();
        if(buff == 'w')
        {
            rbuf[3] += 0x01;
            send(cfd, rbuf,sizeof(rbuf), 0);
        }
        else if(buff == 's')
        {
            rbuf[3] -= 0x01;
            send(cfd, rbuf,sizeof(rbuf), 0);
        }
        else if(buff == 'd')
        {
            bbuf[3] += 0x0A;
            send(cfd, bbuf,sizeof(bbuf), 0);
        }
        else if(buff == 'a')
        {
            bbuf[3] -= 0x0A;
            send(cfd, bbuf,sizeof(bbuf), 0);
        }else
        {
            printf("输入错误,请重新输入\n");
        }
    }	
	//5、关闭套接字
	close(cfd);
 
	return 0;
}
 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
day03-手动组建fabric网络.pdf》是一份指导手册,用于教授如何手动组建Fabric网络。Fabric网络是一个分布式账本技术,可用于构建区块链解决方案。这个手册详细介绍了在组建Fabric网络时的步骤和注意事项。 首先,手动组建一个Fabric网络需要一些技术基础。手册在开始部分介绍了一些必备的知识,例如区块链和分布式账本的基本概念。学习者需要理解这些基础概念,以便更好地理解后续的内容。 手册还提供了一些实践操作的步骤。首先,需要准备网络中的各个组件,例如Peer节点、Orderer节点和Channel。手册详细介绍了如何配置这些组件,并给出了一些示例。 接下来,手册重点介绍了如何连接这些组件,以构建一个完整的Fabric网络。手册详细介绍了如何配置节点之间的通信,如何创建和加入Channel,以及如何运行智能合约。这些步骤是手动组建Fabric网络的核心内容,学习者需要仔细理解和熟悉。 除了步骤之外,手册还提供了一些注意事项和最佳实践。例如,手册强调了网络的安全性和可扩展性,提供了一些建议和建议,帮助学习者更好地设计和管理Fabric网络。 总之,《day03-手动组建fabric网络.pdf》是一份非常实用的手册,适合想要了解如何手动组建Fabric网络的人士。通过学习这个手册,学习者可以获得丰富的知识和实践经验,从而能够独立地组建和管理自己的Fabric网络。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值