#include <myhead.h>
#define PORT 8888
#define IP "192.168.125.86"
int main(int argc, const char *argv[])
{
//1.创建套接字
int cfd=-1;
if((cfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket error");
return -1;
}
//1.1端口号快速重用
int reuse=1;
if(setsockopt(cfd,SOL_SOCKET,SO_REUSEADDR,&reuse,sizeof(reuse))==-1)
{
perror("setsockopt error");
return -1;
}
//2.链接服务端
struct sockaddr_in sin;
sin.sin_family=AF_INET;
sin.sin_port=htons(PORT);
sin.sin_addr.s_addr=inet_addr(IP);
if(connect(cfd,(struct sockaddr*)&sin,sizeof(sin))==-1)
{
perror("connect error");
return -1;
}
//3.收发数据
char rbuf[5]={0xff,0x02,0x00,0x00,0xff};
send(cfd,rbuf,sizeof(rbuf),0);
unsigned char bbuf[5]={0xff,0x02,0x01,0x00,0xff};
send(cfd,bbuf,sizeof(bbuf),0);
char value=0;
while(1)
{
value=getchar();
switch(value)
{
//通过w(红色臂角度增大)a
case 'w':
case 'W':
{
rbuf[3]+=2;
if(rbuf[3]>=90)
{
rbuf[3]=90;
}
send(cfd,rbuf,sizeof(rbuf),0);
}
break;
//s(红色臂角度减小)
case 's':
case 'S':
{
rbuf[3]-=2;
if(rbuf[3]<=-90)
{
rbuf[3]=-90;
}
send(cfd,rbuf,sizeof(rbuf),0);
}
break;
//d(蓝色臂角度增大)
case 'D':
case 'd':
{
bbuf[3]+=2;
if(bbuf[3]>=180)
{
bbuf[3]=180;
}
send(cfd,bbuf,sizeof(bbuf),0);
}
break;
//a(蓝色臂角度减小)
case 'A':
case 'a':
{
if(bbuf[3]<=2)
{
bbuf[3]=0;
}
else
{
bbuf[3]-=2;
}
send(cfd,bbuf,sizeof(bbuf),0);
}
break;
}
}
//4.关闭文件
close(cfd);
return 0;
}
12.18
于 2023-12-18 21:36:22 首次发布