zoukankan      html  css  js  c++  java
  • 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;
    //}

  • 相关阅读:
    zookeeper 4 letter 描述与实践
    zookeeper理论
    Zookeeper的功能以及工作原理
    zookeeper
    VMware安装、配置CentOS
    python安装requests (win7 & centos7)
    Centos 6.4 32位 gcc 升级(已验证)
    Centos6.4编译安装Node.js(已验证)
    使用supervisor提高nodejs调试效率 (已验证)
    tar.xz文件如何解压 (已验证)
  • 原文地址:https://www.cnblogs.com/zhangtq/p/11940694.html
Copyright © 2011-2022 走看看