#include
#include
#include
#include
#include
#include

#define BUFFER_SIZE 1024

int main() {
    int sockfd;
    struct sockaddr_in server_addr;
    char buffer[BUFFER_SIZE];
    int bytes_received;

    // 创建socket
    sockfd = socket(AF_INET, SOCK_STREAM, 0);
    if (sockfd == -1) {
        perror("socket");
        exit(EXIT_FAILURE);
    }

    // 设置服务器地址
    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(8080);
    server_addr.sin_addr.s_addr = inet_addr("127.0.0.1");

    // 连接服务器
    if (connect(sockfd, (struct sockaddr*)&server_addr, sizeof(server_addr)) == -1) {
        perror("connect");
        exit(EXIT_FAILURE);
    }

    // 发送数据
    strcpy(buffer, "Hello, Server!");
    if (send(sockfd, buffer, BUFFER_SIZE, 0) == -1) {
        perror("send");
        exit(EXIT_FAILURE);
    }

    // 接收数据
    memset(buffer, 0, sizeof(buffer));
    bytes_received = recv(sockfd, buffer, BUFFER_SIZE, 0);
    if (bytes_received == -1) {
        perror("recv");
        exit(EXIT_FAILURE);
    }

    printf("Received from server: %s\n", buffer);

    // 关闭socket
    close(sockfd);

    return 0;
}