• c++ socket



    //获取闲聊接口的数据
    //std::string CChatRecords::ChatApiDate(wchar_t* ques)
    //{
    // HttpRequest httpReq("api.qingyunke.com", 80);
    //
    // char url[1000];
    //
    // sprintf_s(url, "/api.php?key=free&appid=0&msg=%ws" ,ques);
    //
    // CString str1(url);
    // AfxMessageBox(_T("url"));
    // AfxMessageBox(str1);
    // //url = "/api.php?key=free&appid=0&msg=你好吗";
    // std::string res = httpReq.HttpGet("/api.php?key=free&appid=0&msg=你好吗");
    // return res;
    //}

    //
    //HttpRequest::HttpRequest(const std::string& ip, int port):m_ip(ip), m_port(port)
    //{
    //
    //}
    //
    //HttpRequest::~HttpRequest(void)
    //{
    //}

    // 构建http get请求
    //
    //std::string HttpRequest::HttpGet(std::string req)
    //{
    // std::string ret = ""; // 返回Http Response
    // try
    // {
    // //开始进行socket初始化
    // WSADATA wsa = {0};
    // int err = WSAStartup(MAKEWORD(2, 2), &wsa);
    // if (err != 0)
    // {
    // AfxMessageBox(_T("初始化失败"));
    // }
    // else
    // {
    // AfxMessageBox(_T("初始化成功"));
    // }
    //
    // SOCKET clientSocket = socket(AF_INET, 1, 0);
    // struct sockaddr_in ServerAddr = { 0 };
    // //ServerAddr.sin_addr.s_addr = InetPton(AF_INET, CString(m_ip.c_str()), &ServerAddr.sin_addr);
    // struct hostent* p_hostent = gethostbyname(m_ip.c_str());
    // //ServerAddr.sin_addr.s_addr = InetPton(AF_INET, CString(m_ip.c_str()), &ServerAddr.sin_addr);
    // memcpy(&(ServerAddr.sin_addr), p_hostent->h_addr_list[0], sizeof(ServerAddr.sin_addr));
    // //ServerAddr.sin_addr.s_addr = InetPton(AF_INET, , &ServerAddr.sin_addr);
    // ServerAddr.sin_port = htons(m_port);
    // ServerAddr.sin_family = AF_INET;
    // int errNo = connect(clientSocket, (sockaddr*)&ServerAddr, sizeof(ServerAddr));
    // if (errNo == 0)
    // {
    // std::string strSend = " HTTP/1.1 "
    // "Host: api.qingyunke.com "
    // "Connection: close ";
    // strSend = "GET " + req + strSend;
    // // 发送
    // errNo = send(clientSocket, strSend.c_str(), strSend.length(), 0);
    // if (errNo > 0)
    // {
    // //cout << "发送成功" << endl;
    // AfxMessageBox(_T("发送成功"));
    // }
    // else
    // {
    // std::cout << "errNo:" << errNo << std::endl;
    // return ret;
    // }
    //
    // // 接收
    // char bufRecv[1024] = { 0 };
    // //errNo = recv(clientSocket, bufRecv, 3069, 0);
    //
    // //ret = bufRecv;// 如果接收成功,则返回接收的数据内容
    // memset(&bufRecv, 0, sizeof(bufRecv));
    // string content;
    // while (int recvlength = recv(clientSocket, bufRecv, sizeof(bufRecv), 0))
    // {
    // if (recvlength < 0)
    // {
    // break;
    // }
    // else {
    // content += bufRecv;
    // memset(&bufRecv, '', sizeof(bufRecv));
    // }
    //
    //
    // int npos = content.find(" ");
    // if (npos != -1)
    // {
    // ret = content.substr(npos+1);
    // return ret;
    // }
    //
    // return ret;
    // }
    // }
    // else
    // {
    // errNo = WSAGetLastError();
    // AfxMessageBox(errNo);
    // std::cout << "errNo:" << errNo << std::endl;
    // }
    // // socket环境清理
    // ::WSACleanup();
    // }
    // catch (...)
    // {
    // return "";
    // }
    // return ret;
    //}

  • 相关阅读:
    【MySQL】JavaWeb项目中配置数据库的连接池
    【Java】Struts2配置默认Action和配置Action的默认处理类
    【Java】Struts2中使用ServletAPI
    【JavaScript】JS对象-属性的遍历,删除对象属性
    nginx 的三种虚拟主机配置方法
    nginx官方源安装-主配置文件详解
    http协议工作原理及工作流程
    ssh安全优化免密登陆
    sersync 实时同步网站数据
    nfs 共享存储
  • 原文地址:https://www.cnblogs.com/zhangtq/p/11940694.html
Copyright © 2020-2023  润新知