C语言udp的client端可以自定义测试的时长的代码
时间: 2024-05-04 20:22:42 浏览: 17
可以提供相应的代码,以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
int main(int argc, char *argv[])
{
// 创建UDP socket
int sockfd = socket(AF_INET, SOCK_DGRAM, 0);
if (sockfd < 0) {
perror("socket error");
exit(1);
}
// 设置目标IP地址和端口号
struct sockaddr_in dest_addr;
memset(&dest_addr, 0, sizeof(dest_addr));
dest_addr.sin_family = AF_INET;
dest_addr.sin_addr.s_addr = inet_addr(argv[1]); // 目标IP地址
dest_addr.sin_port = htons(atoi(argv[2])); // 目标端口号
// 发送测试数据
const char *data = "Hello, world!";
int len = strlen(data);
int duration = atoi(argv[3]); // 测试时长(秒)
time_t start = time(NULL);
while (time(NULL) < start + duration) {
if (sendto(sockfd, data, len, 0, (struct sockaddr *)&dest_addr, sizeof(dest_addr)) < 0) {
perror("sendto error");
exit(1);
}
}
// 关闭UDP socket
close(sockfd);
return 0;
}
```
以上代码可以设置测试时长(秒),并循环发送测试数据到指定的目标IP地址和端口号。您可以根据具体需要进行修改和完善。