0

これは ac プログラム (クライアントとやり取りするサーバー) です。

コンパイル時にエラーが発生しますここに画像の説明を入力

   int main(int argc, char **argv) 
    {
    int sock, fd;
    socklen_t client_len;
    struct sockaddr_in server, client;

    if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1)
    {
        perror("Socket failed");
        exit(1);
            }

    server.sin_family = AF_INET;
    server.sin_addr.s_addr = htonl(INADDR_ANY);
    server.sin_port = htons (SERVER_PORT);

    if (bind ( sock, (struct sockaddr *) &server, sizeof server) == -1);
    {
        perror("bind failed");
        exit(2);
    }

    listen (sock,1);

    while (1)
    {
        client_len = sizeof (client);
        if((fd = accept ( sock, (struct structaddr *) &client, &client_len)) < 0)
        {
            perror("accepting connection");
            exit(3);
            }
    fprintf(stderr, "\nOpen. \n");
    (send (fd, "\nWelcome!\n", 50, 0);
    check_stats(fd, fd);
            }

        close(fd);
    fprintf(stderr, "\nClose\n");
    exit(0);
    }   

スクリーンショットを添付しました。何が原因かわかりませんが、小さな問題のようです。

4

1 に答える 1

5

あなたはそれをコンパイルしていません。次のように入力./server.cすると、シェルスクリプトとして実行しようとしています。

コンパイルするには:gcc server.c(gccがインストールされている場合。試してみるcc server.ccl server.c、他のコンパイラがインストールされている場合)

実行するには:./a.out

于 2013-09-26T07:32:22.440 に答える