作业:
机械臂左右移动
代码:
#include<myhead.h>
#define IP "192.168.125.218"
#define PORT 8888
#define STRIP "192.168.125.197"
#define STPOPT 8888
int main(int argc, const char *argv[])
{
int sed;
if(( sed=socket(AF_INET,SOCK_STREAM,0))==-1)
{
perror("socket error");
}
struct sockaddr_in sim;
sim.sin_family=AF_INET;
sim.sin_port=htons(STPOPT);
sim.sin_addr.s_addr=inet_addr(STRIP);
if( bind(sed,(struct sockaddr *)&sim,sizeof(sim))==-1)
{
perror("bind error");
}
//红
char rbuf[5]={0xff,0x02,0x00,0x00,0xff};
//蓝
char bbuf[5]={0xff,0x02,0x01,0x50,0xff};
struct sockaddr_in com;
com.sin_family=AF_INET;
com.sin_port=htons(PORT);
com.sin_addr.s_addr=inet_addr(IP);
int flus=1;
if(setsockopt(sed,SOL_SOCKET,SO_REUSEADDR,&flus,sizeof(flus))==-1)
{
perror("setsockopt error");
}
printf("端口重用成功\n");
if(connect(sed,(struct sockaddr *)&com,sizeof(com))==-1)
{
perror("connext error");
}
printf("连接成功\n");
send(sed,rbuf,sizeof(rbuf),0);
send(sed,bbuf,sizeof(bbuf),0);
//键盘输入的
char s;
while(1)
{
s=getchar();
getchar();
switch(s){
//红角度变大
case 'w': rbuf[3]++; break;
//红角度变小
case 's': rbuf[3]--;break;
//蓝角度减小
case 'a': bbuf[3]--;break;
//蓝角度增大
case 'd': bbuf[3]++;break;
default: printf("输入错i误\n"); break;
}
send(sed,rbuf,sizeof(rbuf),0);
send(sed,bbuf,sizeof(bbuf),0);
}
close(sed);
return 0;
}
成果
1.
2.