当前位置: 首页 > news >正文

9月10日

TCP客户端代码

#include<myhead.h>
#define SER_IP "192.168.108.179"    //服务器ip地址
#define SER_PORT 8888               //服务器端口号
#define CLI_IP "192.168.108.239"     //客户端ip地址
#define CLI_PORT 7777               //客户端端口号

//TCP客户端
int main(int argc, const char *argv[])
{
//创建用于通信的套接字文件描述符
int cfd = socket(AF_INET, SOCK_STREAM, 0);
if(cfd == -1)
{
perror("socket error");
return -1;
}

    //连接服务器
//服务器地址信息结构体
struct sockaddr_in sin;
sin.sin_family = AF_INET;    //IPV4
sin.sin_addr.s_addr = inet_addr(SER_IP);//要连接的服务器IP
sin.sin_port = htons(SER_PORT);     //服务器的端口号

    //连接操作
if(connect(cfd, (struct sockaddr*)&sin, sizeof(sin))==-1)
{
perror("connect error");
return -1;
}


//红色臂初始角度
char rbuf[5] = {0xff, 0x02, 0x00, 0x00, 0xff};
//蓝色臂初始角度
unsigned char bbuf[5] = {0xff, 0x02, 0x01, 0x5a, 0xff};

    //将上面的数据分别发送给服务器
send(cfd, rbuf, sizeof(rbuf), 0);
send(cfd, bbuf, sizeof(bbuf), 0);

    //WASD功能
char input;
while(1)
{
scanf("  %c",&input);
switch(input)
{
case 'w':
rbuf[3]+=2;
send(cfd,rbuf,sizeof(rbuf),0);
break;
case 's':
rbuf[3]-=2;
send(cfd,rbuf,sizeof(rbuf),0);
break;
case 'd':
bbuf[3]+=2;
send(cfd,bbuf,sizeof(bbuf),0);
break;
case 'a':
bbuf[3]-=2;
send(cfd,bbuf,sizeof(bbuf),0);
break;
case 'q':
printf("退出\n");
close(cfd);
return 0;
default:
break;
}
}
//关闭套接字
close(cfd);

return 0;
}


文章转载自:

http://JeMJffsp.zyytn.cn
http://GWdV9P5k.zyytn.cn
http://D0rfvY1h.zyytn.cn
http://FgTPNnE3.zyytn.cn
http://AbD5F3or.zyytn.cn
http://vRf5Tr6Z.zyytn.cn
http://HzeTK3jM.zyytn.cn
http://wlJRlSgT.zyytn.cn
http://8ygt5g91.zyytn.cn
http://exXCxrFy.zyytn.cn
http://hLST3kNP.zyytn.cn
http://WxwIHCvR.zyytn.cn
http://DsKvW7b4.zyytn.cn
http://z7K7fHNf.zyytn.cn
http://KHPgpkeZ.zyytn.cn
http://I64vRJ55.zyytn.cn
http://jQVBgDyO.zyytn.cn
http://3pDNjv1A.zyytn.cn
http://GbaU4HZE.zyytn.cn
http://uMbrMhhy.zyytn.cn
http://sggHwjPw.zyytn.cn
http://7uPCsV3i.zyytn.cn
http://q9xAvPeL.zyytn.cn
http://25PRi6kW.zyytn.cn
http://6wNdicIr.zyytn.cn
http://R2qW7uut.zyytn.cn
http://LYQpZ1fZ.zyytn.cn
http://162u9IFL.zyytn.cn
http://fy1gZa0Z.zyytn.cn
http://8Z6FaxRD.zyytn.cn
http://www.dtcms.com/a/376733.html

相关文章:

  • LeakCanary原理示例讲解
  • 多集群 Kubernetes 部署与混合云资源治理架构设计分享
  • 人工智能机器学习——模型评价及优化
  • IndexTTS2安装说明
  • Vue:事件处理机制详解
  • 【笔记】空气弹簧概述、刚度调节原理
  • IgH EtherCAT 主站核心技术解析:从架构到工业部署的底层逻辑
  • tvm/triton/tensorrt比较
  • kernel_liteos_m移植到正点原子阿波罗F429_keil版
  • <数据集>yolo梨幼果识别数据集<目标检测>
  • BUG排查流程
  • 搞坏了docker 双系统下重装ubuntu22.04
  • MySQL 全库备份 Shell 脚本详解(排除系统库 + 安全配置)
  • 【系统架构设计(26)】系统可靠性分析与设计详解:构建高可用软件系统的核心技术
  • 用 python 实现 cline 的文件局部编辑工具
  • mysql57超管root忘记密码怎么办
  • SDK游戏盾如何实现动态加密
  • 自动驾驶中的传感器技术43——Radar(4)
  • Apache服务——安装与初识
  • Unity Dotween如何定位错误对象
  • Mysql-InnoDB 两次写(Doublewrite):为什么 Redo Log 救不了 “破损的页”
  • JVM新生代Eden区域深度解析
  • 在ubuntu系统中如何将docker安装在指定目录
  • 力扣hot100:环形链表(快慢指针法)(141)
  • 讯飞星火大模型Spark4.0Ultra的WebSocket交互实现解析
  • LeetCode 2958.最多K个重复元素的最长子数组
  • 【Oracle经验分享】字符串拼接过长问题的解决方案 —— 巧用 XMLAGG
  • MP381A-AB02 MEMS麦克风可靠性重新定义消费电子音频
  • 面试题:Redis要点总结(单机数据库)
  • 分类别柱状图(Vue3)