使用C套接字连接MYSQL数据库

使用C套接字连接MYSQL数据库,c,sockets,winsock,winsock2,C,Sockets,Winsock,Winsock2,我正在为一个销售点终端编写一个应用程序,终端手册限制了从终端直接连接MYSQL,所有连接都应该使用套接字完成。如何使用C套接字连接到MYSQL数据库?下面是我正在工作的C程序,它建立到指定ip和端口的TCP连接 /* * Create a TCP socket * @Author Salim Said * Jan 2 2015 17:00hrs */ #include<stdio.h> #include<winso

我正在为一个销售点终端编写一个应用程序,终端手册限制了从终端直接连接MYSQL,所有连接都应该使用套接字完成。如何使用C套接字连接到MYSQL数据库?下面是我正在工作的C程序,它建立到指定ip和端口的TCP连接

    /*
     * Create a TCP socket
     * @Author Salim Said
     * Jan 2 2015 17:00hrs
    */

    #include<stdio.h>
    #include<winsock2.h>
    #pragma comment(lib,"ws2_32.lib") //Winsock Library

    int main(int argc , char *argv[])
    {
        WSADATA wsa;
        SOCKET s;
        struct sockaddr_in server;

        printf("\nInitialising Winsock...");
        if (WSAStartup(MAKEWORD(2,2),&wsa) != 0)
        {
            printf("Failed. Error Code : %d",WSAGetLastError());
            return 1;
        }

        printf("Initialised.\n");

        //Create a socket
        if((s = socket(AF_INET , SOCK_STREAM , 0 )) == INVALID_SOCKET)
        {
            printf("Could not create socket : %d" , WSAGetLastError());
        }

        printf("Socket created.\n");


        server.sin_addr.s_addr = inet_addr("74.125.235.20");
        server.sin_family = AF_INET;
        server.sin_port = htons( 80 );

        //Connect to remote server
        if (connect(s , (struct sockaddr *)&server , sizeof(server)) < 0)
        {
            puts("connect error");
            return 1;
        }

        puts("Connected successfully");

        return 0;
    }
/*
*创建TCP套接字
*@作者萨利姆说
*2015年1月2日17:00
*/
#包括
#包括
#pragma注释(lib,“ws2_32.lib”)//Winsock库
int main(int argc,char*argv[])
{
WSADATA wsa;
插座;
服务器中的结构sockaddr_;
printf(“\n初始化Winsock…”);
if(WSAStartup(MAKEWORD(2,2),&wsa)!=0)
{
printf(“失败。错误代码:%d”,WSAGetLastError());
返回1;
}
printf(“已初始化。\n”);
//创建一个套接字
if((s=套接字(AF\u INET,SOCK\u STREAM,0))==无效的套接字)
{
printf(“无法创建套接字:%d”,WSAGetLastError());
}
printf(“已创建套接字。\n”);
server.sin_addr.s_addr=inet_addr(“74.125.235.20”);
server.sinu family=AF\u INET;
server.sin_port=htons(80);
//连接到远程服务器
if(connect(s,(struct sockaddr*)&server,sizeof(server))<0
{
puts(“连接错误”);
返回1;
}
卖出(“成功连接”);
返回0;
}

你到底为什么要这样做?MySql确实有一个C API来实现这一点stuff@EdHealPOS编译器无法直接编译MYSQL,我必须使用套接字@electronicsalim——正如前面提到的,有一个可用的API来处理MySQL。有些人发现自己无法使用它,有些人宁愿不使用它,不管怎样。这里有一些不需要MySQL库的代码:@enhzflep谢谢。我会检查代码。什么是POS compiker?你到底为什么这么做?MySql确实有一个C API来实现这一点stuff@EdHealPOS编译器无法直接编译MYSQL,我必须使用套接字@electronicsalim——正如前面提到的,有一个可用的API来处理MySQL。有些人发现自己无法使用它,有些人宁愿不使用它,不管怎样。这里有一些不需要MySQL库的代码:@enhzflep谢谢。我会把代码通读一遍。什么是POS compiker?