legongju.com
我们一直在努力
2025-01-15 14:31 | 星期三

如何用C语言处理网络info

在C语言中,可以使用socket库来处理网络信息。以下是一个简单的例子,演示如何使用C语言接收和发送数据:

#include 
#include 
#include 
#include 
#include 

#define PORT 8080

int main() {
    int server_fd, new_socket;
    struct sockaddr_in address;
    int addrlen = sizeof(address);
    char buffer[1024] = {0};
    char *hello = "Hello from server";

    // 创建socket
    if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) {
        perror("socket failed");
        exit(EXIT_FAILURE);
    }

    address.sin_family = AF_INET;
    address.sin_addr.s_addr = INADDR_ANY;
    address.sin_port = htons(PORT);

    // 绑定端口
    if (bind(server_fd, (struct sockaddr *)&address, sizeof(address)) < 0) {
        perror("bind failed");
        exit(EXIT_FAILURE);
    }

    // 监听端口
    if (listen(server_fd, 3) < 0) {
        perror("listen failed");
        exit(EXIT_FAILURE);
    }

    // 接受连接
    if ((new_socket = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen)) < 0) {
        perror("accept failed");
        exit(EXIT_FAILURE);
    }

    // 读取数据
    read(new_socket, buffer, 1024);
    printf("Received: %s\n", buffer);

    // 发送数据
    send(new_socket, hello, strlen(hello), 0);
    printf("Hello message sent\n");

    return 0;
}

在这个例子中,我们创建了一个服务器,绑定到8080端口,并监听来自客户端的连接。当客户端连接成功后,服务器接收客户端发送的数据并打印出来,然后发送一个”Hello from server”的消息给客户端。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/110065.html

相关推荐

  • C语言中string的存储结构是怎样的

    C语言中string的存储结构是怎样的

    在C语言中,字符串通常以字符数组的形式存储。每个字符都被存储在数组的一个位置上,并以null字符(‘\0’)作为结尾标志。这意味着字符串的长度可以动态变化,但必...

  • 在C语言中处理string的常用方法有哪些

    在C语言中处理string的常用方法有哪些

    在C语言中处理string的常用方法包括以下几种: 使用char数组:在C语言中,字符串通常被表示为char类型的字符数组。可以使用char数组来存储和操作字符串数据。 使...

  • C语言如何实现类似string的功能

    C语言如何实现类似string的功能

    在C语言中,可以使用字符数组和相关的字符串处理函数来实现类似string的功能。以下是一些实现string功能的常用方法: 使用字符数组:
    可以使用字符数组来存...

  • C语言中string库函数的使用示例

    C语言中string库函数的使用示例

    #include #include int main() {
    char str1[20] = “Hello”;
    char str2[20] = “World”;
    // 将str2拼接到str1的末尾
    strcat(str1, str2);...

  • python用什么定义类

    python用什么定义类

    在Python中,可以使用class关键字来定义一个类。例如:
    class MyClass: # 类的属性和方法 pass 上面的代码定义了一个名为MyClass的类。在类的定义中,可以添...

  • Java集合交集运算的示例代码解析

    Java集合交集运算的示例代码解析

    在Java中,可以使用Collection的retainAll()方法来实现集合的交集运算。该方法会保留调用该方法的集合中存在于指定集合中的元素,同时删除不在指定集合中的元素。...

  • Java集合交集运算的优化建议

    Java集合交集运算的优化建议

    在Java中,如果要对两个集合进行交集运算,可以使用Collection类的retainAll方法来实现。这个方法会保留两个集合中共有的元素,然后将不需要的元素删除。
    为...

  • recvmsg与其他Linux接收函数的对比

    recvmsg与其他Linux接收函数的对比

    recvmsg是Linux中用于接收数据的系统调用函数,与其他接收函数(如recv、recvfrom)相比有以下几点不同之处: recvmsg具有更强大的功能,能够接收多个消息。通过...