C语言 UDP 客户端代码示例

以下是一个简单的 UDP 客户端代码示例:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>

#define MAX_BUFFER_SIZE 1024
#define SERVER_IP '127.0.0.1'
#define SERVER_PORT 8888

int main() {
    int sockfd;
    struct sockaddr_in server_addr;
    socklen_t addr_len = sizeof(server_addr);
    char buffer[MAX_BUFFER_SIZE];

    // 创建 UDP 套接字
    if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
        perror('socket creation failed');
        exit(EXIT_FAILURE);
    }

    memset(&server_addr, 0, addr_len);

    // 设置服务器地址
    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(SERVER_PORT);
    if (inet_pton(AF_INET, SERVER_IP, &(server_addr.sin_addr)) <= 0) {
        perror('inet_pton failed');
        exit(EXIT_FAILURE);
    }

    while (1) {
        printf('Enter message: ');
        fgets(buffer, MAX_BUFFER_SIZE, stdin);

        // 发送消息到服务器
        if (sendto(sockfd, buffer, strlen(buffer), 0, (struct sockaddr*)&server_addr, addr_len) == -1) {
            perror('sendto failed');
            exit(EXIT_FAILURE);
        }

        // 接收服务器的响应
        memset(buffer, 0, MAX_BUFFER_SIZE);
        if (recvfrom(sockfd, buffer, MAX_BUFFER_SIZE, 0, (struct sockaddr*)&server_addr, &addr_len) == -1) {
            perror('recvfrom failed');
            exit(EXIT_FAILURE);
        }

        printf('Server response: %s
', buffer);
    }

    // 关闭套接字
    close(sockfd);

    return 0;
}

这个 UDP 客户端示例代码会连接到指定的服务器 IP 和端口,并通过用户输入的消息发送给服务器。然后,它会等待服务器的响应并打印出来。循环会一直执行,直到用户终止程序。

C语言 UDP 客户端代码示例 - 轻松连接服务器

原文地址: http://www.cveoy.top/t/topic/mLJZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录