//C++ POST方法 主体
int CDataBaseSink::request(char* hostname, char* api,DWORD port, char* parameters)
{
WSADATA WsaData;
WSAStartup(0x0101, &WsaData); //初始化socket
struct hostent* host_addr = gethostbyname(hostname);
if (host_addr == NULL)
{
CTraceService::TraceString("host连接失败!",TraceLevel_Warning);
return -103;
}
sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_port = htons((unsigned short)port);
sin.sin_addr.s_addr = *((int*)*host_addr->h_addr_list);
int sock = socket(AF_INET, SOCK_STREAM, 0);
if (sock == -1)
{
return -100;
}
//建立连接
if (connect(sock, (const struct sockaddr *)&sin, sizeof(sockaddr_in) ) == -1)
{
CTraceService::TraceString("socket连接失败!",TraceLevel_Warning);
return -101;
}