2011-02-01 21 views
0

私はC言語のUNIXソケットを使用してクラスのクライアント/サーバFTPプログラムを作成しています。私の教授がこのプロセスにデータを送信する必要があります。トラフィック(「トロール」と呼ばれます)。特別なヘッダーが必要です。だから私は、ヘッダーを持つ構造体を作成しようとし、それに私のデータをタックします...しかし、私のコンパイラは、このエラーを与え続けます...C言語でUDP UNIXソケットを介して構造体を送信

"ポインタ型に変換することはできません"ないオブジェクト自体 - あなたはトロルのアドレスを渡す必要があり、私は私が間違っているのかを把握することはできませんコードの最後の行)

...

/* make troll header */ 
    struct sockaddr_in dest, troll; 
    struct { 
     struct sockaddr_in header; 
     char body[MAXDATASIZE]; 
    } message; 
    message.header.sin_family = htons(AF_INET); 
    message.header.sin_port = htons(SERVER_PORT); 
    bcopy((char *)&server_name.sin_addr, (char *)&message.header.sin_addr, sizeof(server_name.sin_addr)); 

    troll.sin_family = AF_INET; 
    troll.sin_port = htons(TROLL_PORT); 
    bcopy((char *)&name.sin_addr, (char *)&troll.sin_addr, sizeof(name.sin_addr)); 

    /* send mini_buffer to troll */ 
    memcpy(message.body, mini_buffer, MAXDATASIZE); 

    int result = sendto(troll_sock, (char *) &message, sizeof(message), 0, (struct sockaddr *) troll, sizeof(troll)); 

答えて

4

。試してください:...(struct sockaddr *)(&トロール)...

関連する問題