使用c中的sendto函数发送mysql输出

时间:2012-10-13 17:47:04

标签: mysql c networking

if(mysql_query(&mysql,msgbuf));
    else
    {
        //printf("inside else case\n");
        result=mysql_store_result(&mysql);
        //printf("\n after getting the result...\n");
        num_fields = mysql_num_fields(result); 
        //printf("\n after getting numfields...\n");
            while ((row = mysql_fetch_row(result))) 
            {    
                    unsigned long *lengths; 
            //printf("\n inside while....\n");
                    lengths = mysql_fetch_lengths(result); 
                    for(i = 0; i < num_fields; i++) 
                    { 
                            printf("[%.*s] \t", (int) lengths[i], row[i] ? row[i] : "NULL"); 
                    }    
                    printf("\n"); 
            } 
        } 

我将mysql查询的结果存储在类型为MSQL_RES的结果中。我希望使用sendto()将整个结果发送到另一个正在运行的进程。我该怎么办?

1 个答案:

答案 0 :(得分:0)

你的意思是Posix - sendto功能吗?首先阅读文档。

我不会对sendto这样做,因为它只发送一些可能根本没有“含义”的字节块。您不知道如何在mysql库中内部构建和使用MSQL_RES。如果它有一堆指向动态分配内存的指针怎么样呢?strcuture只在mysq-library内部?您还必须发送这些值,接收方必须自己重新构建MSQL_RES对象。这不会起作用。

无论如何你想要完成什么?