C语言udp接收退出代码
时间: 2023-09-24 19:09:44 浏览: 116
以下是一个简单的 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, n;
char buffer[MAX_BUF_SIZE];
struct sockaddr_in servaddr, cliaddr;
// 创建 UDP socket
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
// 初始化 server 地址信息
memset(&servaddr, 0, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = INADDR_ANY;
servaddr.sin_port = htons(8888);
// 绑定 socket 到指定地址
bind(sockfd, (const struct sockaddr *)&servaddr, sizeof(servaddr));
// 从客户端接收数据
n = recvfrom(sockfd, (char *)buffer, MAX_BUF_SIZE, MSG_WAITALL, (struct sockaddr *)&cliaddr, &len);
buffer[n] = '\0';
printf("Received message: %s\n", buffer);
// 关闭 socket
close(sockfd);
return 0;
}
```
这个程序将在接收到数据后立即关闭 socket 并退出。你可以在程序的其他部分添加适当的逻辑来继续运行程序,直到某个条件满足后再退出。
阅读全文