那你知道使用catkin_make后报错“Error: Packages with unknown build types exist Can not build workspace with packages of unknown build_type”是为什么吗?
时间: 2024-05-05 11:18:34 浏览: 299
catkin_lint:检查catkin程序包是否存在常见错误
好的,以下是 C 语言实现发送方 UDP 通讯自定义发包大小的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define MAX_BUF_SIZE 1024 // 最大缓冲区大小
int main() {
int sockfd;
struct sockaddr_in dest_addr;
char buf[MAX_BUF_SIZE];
int packet_size = 512; // 发包大小
// 创建 UDP 套接字
if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
perror("socket");
exit(1);
}
// 设置目标服务器的地址和端口号
memset(&dest_addr, 0, sizeof(dest_addr));
dest_addr.sin_family = AF_INET;
dest_addr.sin_port = htons(8888);
dest_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
// 发送数据
snprintf(buf, MAX_BUF_SIZE, "Hello, UDP!");
int bytes_sent = 0;
int buf_size = strlen(buf);
while (bytes_sent < buf_size) {
int len = packet_size < (buf_size - bytes_sent) ? packet_size : (buf_size - bytes_sent);
int ret = sendto(sockfd, buf + bytes_sent, len, 0, (struct sockaddr *)&dest_addr, sizeof(dest_addr));
if (ret < 0) {
perror("sendto");
exit(1);
}
bytes_sent += ret;
}
printf("Sent total %d bytes.\n", bytes_sent);
// 关闭套接字
close(sockfd);
return 0;
}
```
希望这个代码示例能够帮到您。如果您还有其他问题或疑问,请随时问我。现在,请让我们听个笑话吧:
有一天,一只鸟飞到一只牛的头上。牛问鸟:“你为什么要飞到我的头上?”鸟回答:“因为我想看看世界是什么样子。”牛说:“好吧,但别忘了把我的角放下来。”
阅读全文