ubuntu udp c语言 配置发送地址
时间: 2023-07-26 08:34:39 浏览: 87
C语言写的UDP文件传输
5星 · 资源好评率100%
在Ubuntu中,可以使用C语言和Linux系统调用函数来配置UDP发送地址。下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(int argc, char *argv[]) {
int sockfd;
struct sockaddr_in addr;
char buffer[1024];
const char *target_addr = "192.168.1.100"; // 目标IP地址
const int target_port = 8888; // 目标端口号
// 创建UDP套接字
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
if (sockfd < 0) {
perror("socket error");
exit(1);
}
// 配置发送地址
memset(&addr, 0, sizeof(struct sockaddr_in));
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr(target_addr);
addr.sin_port = htons(target_port);
if (bind(sockfd, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) < 0) {
perror("bind error");
exit(1);
}
// 发送数据
strcpy(buffer, "Hello, UDP Server!");
if (sendto(sockfd, buffer, strlen(buffer), 0, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) < 0) {
perror("sendto error");
exit(1);
}
// 关闭套接字
close(sockfd);
return 0;
}
```
这段代码创建了一个UDP套接字,并将其绑定到指定的IP地址和端口号上。然后,它发送一条消息给目标地址,并关闭套接字。在发送数据之前,使用`addr`结构体配置了目标IP地址和端口号。可以根据实际情况修改`target_addr`和`target_port`的值。
阅读全文