服务器端与客户端反馈c语言_C#语言

服务器端与客户端反馈通常使用C语言C#语言进行编写。这些语言具有高效、稳定和跨平台的特点,适用于各种网络通信场景。

服务器端和客户端的反馈主要涉及到网络编程,这里以C语言为例,给出一个简单的服务器端和客户端的实现。

服务器端与客户端反馈c语言_C#语言
(图片来源网络,侵删)

1、服务器端代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
int main() {
    int server_fd, new_socket;
    struct sockaddr_in address;
    int opt = 1;
    int addrlen = sizeof(address);
    char buffer[1024] = {0};
    const char *hello = "Hello from server";
    // 创建套接字
    if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) {
        perror("socket failed");
        exit(EXIT_FAILURE);
    }
    // 设置套接字选项
    if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt))) {
        perror("setsockopt");
        exit(EXIT_FAILURE);
    }
    // 绑定套接字到端口
    address.sin_family = AF_INET;
    address.sin_addr.s_addr = INADDR_ANY;
    address.sin_port = htons(8080);
    if (bind(server_fd, (struct sockaddr *)&address, sizeof(address)) < 0) {
        perror("bind failed");
        exit(EXIT_FAILURE);
    }
    // 监听连接
    if (listen(server_fd, 3) < 0) {
        perror("listen");
        exit(EXIT_FAILURE);
    }
    // 接受客户端连接
    if ((new_socket = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen)) < 0) {
        perror("accept");
        exit(EXIT_FAILURE);
    }
    // 读取客户端发送的数据
    read(new_socket, buffer, 1024);
    printf("Client message: %sn", buffer);
    // 向客户端发送数据
    send(new_socket, hello, strlen(hello), 0);
    printf("Hello message sentn");
    return 0;
}

2、客户端代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
int main() {
    int sock = 0;
    struct sockaddr_in serv_addr;
    char buffer[1024] = {0};
    const char *hello = "Hello from client";
    // 创建套接字
    if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
        printf("n Socket creation error n");
        return 1;
    }
    serv_addr.sin_family = AF_INET;
    serv_addr.sin_port = htons(8080);
    // 将IP地址转换为二进制格式
    if (inet_pton(AF_INET, "127.0.0.1", &serv_addr.sin_addr) <= 0) {
        printf("nInvalid address/ Address not supported n");
        return 1;
    }
    // 连接到服务器
    if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) {
        printf("nConnection Failed n");
        return 1;
    }
    // 向服务器发送数据
    send(sock, hello, strlen(hello), 0);
    printf("Hello message sentn");
    // 从服务器接收数据
    read(sock, buffer, 1024);
    printf("Server message: %sn", buffer);
    return 0;
}

这个示例中,服务器端创建一个套接字,绑定到本地地址和端口8080,然后监听连接,当客户端连接时,服务器端接受连接,读取客户端发送的数据,并向客户端发送一条消息,客户端创建一个套接字,连接到服务器,然后向服务器发送一条消息,并接收服务器返回的消息。

服务器端与客户端反馈c语言_C#语言
(图片来源网络,侵删)

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2024-06-29 00:31
下一篇 2024-06-29 00:36

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信