2023/12/18 work
2023-12-18 21:53:47
1. 机械臂
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <myhead.h>
#define CLI_PORT 6667 //本机的端口号
#define CLI_IP "192.168.125.79" //本机的IP
#define SER_PORT 8888 //服务器的端口号
#define SER_IP "192.168.125.202" //服务器的IP
int main(int argc, const char *argv[])
{
//创建套接字,用于通信
int cfd=socket(AF_INET,SOCK_STREAM,0);
if(cfd<0)
{
perror("socket error");
return -1;
}
int reuse = 1;
if(setsockopt(cfd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)) == -1)
{
perror("setsockopt error");
return -1;
}
//绑定IP地址和端口号
struct sockaddr_in cinfo;
cinfo.sin_family=AF_INET;
cinfo.sin_port=htons(CLI_PORT);
cinfo.sin_addr.s_addr=inet_addr(CLI_IP);
if(bind(cfd,(struct sockaddr*)&cinfo,sizeof(cinfo))<0)
{
perror("bind error");
return -1;
}
//连接到服务器
struct sockaddr_in sinfo;
sinfo.sin_family=AF_INET;
sinfo.sin_port=htons(SER_PORT);
sinfo.sin_addr.s_addr=inet_addr(SER_IP);
if(connect(cfd,(struct sockaddr*)&sinfo,sizeof(sinfo))<0)
{
perror("connect error");
return -1;
}
printf("connect success \n");
//发送信息
char str[5]={0xff,0x02,0x00,0x00,0xff};
char c;
char blue=0x00;
char red=0x00;
send(cfd,str,sizeof(str),0);
while(1)
{
printf("please input a/w/s/d\n");
scanf("%c",&c);
getchar();
switch(c)
{
case 'a' :
case 'A' :
str[2]=0x01;
blue-=0x01;
str[3]=blue;
break;
case 'd' :
case 'D' :
str[2]=0x01;
blue+=0x01;
str[3]=blue;
break;
case 's' :
case 'S' :
str[2]=0x00;
red-=0x01;
str[3]=red;
break;
case 'w' :
case 'W' :
str[2]=0x00;
red+=0x01;
str[3]=red;
break;
default: break;
}
ssize_t res=send(cfd,str,sizeof(str),0);
if(res<0)
{
perror("while error");
return -1;
}
if(res==0)
{
printf("serve off\n");
break;
}
}
//关闭套接字
close(cfd);
return 0;
}
本地不知道为啥,连接不上,防火墙的问题
文章来源:https://blog.csdn.net/qinww2009/article/details/135071129
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!