提交 5ae4ad1b 编写于 作者: xc13262215230's avatar xc13262215230

创建httpclient工程2

上级 3478ebc2
......@@ -145,8 +145,8 @@ namespace doyou {
}
}
//响应网络消息
virtual void OnNetMsg(netmsg_DataHeader* header) = 0;
// 响应网络消息
virtual void OnNetMsg(netmsg_DataHeader* header) = 0; // 纯虚函数
//发送数据
int SendData(netmsg_DataHeader* header)
......
......@@ -68,8 +68,10 @@ g++ server.cpp -std=c++11 -pthread -o EasyServer
45.代替友元函数实现的另一种方式实现<的操作符重载 023+
46.外网云服务编译测试1 011+
47.外网测试和跨域问题处理 030+
48.创建httpclient工程 106+ [2023-12-14: 3311]
code lines sum -> 3205+
code lines sum -> 3311+
//===================================================================================================================
[注意:linux编译指令]
......@@ -567,6 +569,23 @@ RELEASE模式,不具备调试符号,性能最佳,工程实际应用模式
106.新建的工程必要支持有日志系统和配置文件系统。
107.http服务端一般都是提供域名和端口,很少直接提供ip地址和端口的,因为
域名对应ip, 并且可以随时更换IP, 保持域名不更换。当服务器收到恶意攻击时,
甚至可以将域名解析到其它服务器上进行操作防御,所以,一般情况是写域名的,
服务器很容易更换,而IP地址一般都是和PC进行了绑定,更换机器不方便,升级
比较麻烦。域名到IP有一个转化过程,这个转化过程可由程序员控制实现。
一个域名可以通过解析成多个ip+port。
108.域名解析:只有将域名解析成ip+port,这样才能真正的去链接服务器。
109.httpclient请求格式:
GET /add?a=15&b=7 HTTP/1.1
//Host: 127.0.0.1:4568
Host: ipv4.dosfu.com:4568
Connection: keep-alive
......
......@@ -7,6 +7,31 @@ using namespace doyou::io;
class MyClient : public TcpHttpClient
{
public:
MyClient() // 构造函数
{
//pClient->InitSocket(AF_INET, 10240, 10240);
}
virtual ~MyClient() // 虚析构函数
{
//pClient->Close(); // 关闭
}
public:
//
virtual void OnNetMsg(netmsg_DataHeader* header) // 重写继承自父类的纯虚函数
{
}
//
void GetData(char const* url)
{
//pClient->Connect("127.0.0.1", 4567); // 分析:这里应该填写域名,域名到IP存在一个可控制的转化
}
};
......@@ -18,7 +43,9 @@ int main(int argc, char* args[])
// [配置系统]
Config::Instance().Init(argc, args);
MyClient pClient; // 创建对象[在栈上实例化对象,对象由系统自动析构]
pClient.GetData("www.dosfu.com/add.php?a=1&b=2"); // 请求数据[域名可以解析成ip+port]
return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册