linux c语言udp socket发送信息到192.168.1.1并打印地址和端口
时间: 2024-02-05 21:04:39 浏览: 200
udp_send.rar_UDP_UDP发送_linux udp send_udp_send
好的,下面是一个简单的示例代码,可以实现UDP socket发送信息到指定IP地址和端口,并打印地址和端口:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define PORT 12345
int main(int argc, char *argv[]) {
int sockfd;
struct sockaddr_in addr;
char *ip = "192.168.1.1";
char *msg = "Hello, World!";
// 创建socket
if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
perror("socket");
exit(EXIT_FAILURE);
}
// 设置目标地址和端口
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr(ip);
addr.sin_port = htons(PORT);
// 发送消息
if (sendto(sockfd, msg, strlen(msg), 0, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
perror("sendto");
exit(EXIT_FAILURE);
}
// 打印目标地址和端口
printf("Sent message to %s:%d\n", inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));
// 关闭socket
close(sockfd);
return 0;
}
```
需要注意的是,这个示例代码只是演示了如何发送UDP消息并打印地址和端口,并没有处理接收方的响应。如果需要实现双向通信,还需要编写相应的接收代码。
阅读全文