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

外网测试和跨域问题处理

上级 39a1675a
......@@ -366,6 +366,7 @@ namespace doyou {
// 响应头
strcat(response, "Content-Type: text/html;charset=UTF-8\r\n"); // text可兼容json
strcat(response, "Access-Control-Allow-Origin: *\r\n"); // 处理bug: 外网跨域权限问题, [*]允许所有的域名访问
strcat(response, respBodyLen);
strcat(response, "\r\n");
......
......@@ -43,13 +43,14 @@ namespace doyou {
// 建议:全局函数推荐写成静态函数更安全
// 方式一
static bool operator < (KeyString const& left, KeyString const& right) // 操作符重载 <
// bug分析:将函数写成static函数,在另外的g++/gcc编译环境出现段错误。不用编译器之间是存在差异的。
bool operator < (KeyString const& left, KeyString const& right) // 操作符重载 <
{
return strcmp(left._str, right._str) < 0;
}
//// 方式二: KeyString对象间可以比较大小,并可作为map的key
//static bool operator < (KeyString const& left, KeyString const& right) // 操作符重载 <
//bool operator < (KeyString const& left, KeyString const& right) // 操作符重载 <
//{
// return (left < right);
//}
......
// 高性能网络通信服务器2.0关键技术点总结DOC
// 开始时间[2023-3-8 to 至今]
// 欲速则不达 qzfull=c++ 工欲善其事必先利其器
// 欲速则不达 qzfull=c++ 工欲善其事必先利其器 ST-stopThinking
// 请按照规范进行标准注释
// linux系统编译命令:
......@@ -528,6 +528,31 @@ string, 内部都会自动执行new/delete过程,这个过程很消耗系统
98.域名是IP地址的另外一种展现形式,本质也是IP地址信息,为了可读性和封装性。
99.
1)外网调试,一般情况下不要在外网上面上传源代码,学习代码可以,公司源码一般
具备保密性,一般不要上传至外网。外网上面管理并不规范。
2)安装gdb进行代码调试:
[g++ -g server.cpp -std=c++11 -pthread -o EasyTcpServer] // 编译链接源码带有调式信息方式(debug模式)
[gdb main.bin] // 采用gdb启动待调试程序
[run] // 启动程序
[bt] // 打印函数调用栈信息
[q] // 推出gdb调试
100.http客户端请求,经过测试发现,不同的浏览器之间存在差异,不用的编译器之间
也存在差异,虽然都采用c++11标准。
101.百度一下:在遇到问题的时候,95%的问题是前人已经遇到过的,所以
百度一下找到前人留下的解决方案是很好的首要思路,适用一般性问题。
102.gdb: 可采用GDB工具断点调试程序。
103.程序版本分析:
DEBUG模式,具备调试信息,性能不是最佳,程序员定位问题采用模式。
RELEASE模式,不具备调试符号,性能最佳,工程实际应用模式。
104.server的心跳检测很有必要,可以将掉线的客户端主动踢出,释放资源。
......
Info [2023-12-6 23:52:13]Log::setLogPath success,<ServerLog.txt,w>
Error [2023-12-6 23:52:13]Config::getStr not find <strIP>
Info [2023-12-6 23:52:13]Config::getStr strIP=any
Error [2023-12-6 23:52:13]Config::getStr not find <nPort>
Info [2023-12-6 23:52:13]Config::getInt nPort=4568
Error [2023-12-6 23:52:13]Config::getStr not find <nThread>
Info [2023-12-6 23:52:13]Config::getInt nThread=1
Error [2023-12-6 23:52:13]Config::getStr not find <nSendBuffSize>
Info [2023-12-6 23:52:13]Config::getInt nSendBuffSize=10240
Error [2023-12-6 23:52:13]Config::getStr not find <nRecvBuffSize>
Info [2023-12-6 23:52:13]Config::getInt nRecvBuffSize=8192
Error [2023-12-6 23:52:13]Config::getStr not find <nMaxClient>
Info [2023-12-6 23:52:13]Config::getInt nMaxClient=65535
Info [2023-12-6 23:52:13]-ipv4
Info [2023-12-6 23:52:13]create socket<460> success...
Error [2023-12-6 23:52:13]Config::getStr not find <wwwroot>
Info [2023-12-6 23:52:13]Config::getStr wwwroot=./www
Error [2023-12-6 23:52:13]Config::getStr not find <indexpage>
Info [2023-12-6 23:52:13]Config::getStr indexpage=index.html
Info [2023-12-6 23:52:13]bind port<4568> success...
Info [2023-12-6 23:52:13]listen port<460> success...
Info [2023-12-6 23:52:14]thread<1>,time<1.000364>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:15]thread<1>,time<1.001280>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:16]thread<1>,time<1.000398>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:17]thread<1>,time<1.000325>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:18]thread<1>,time<1.001384>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:19]thread<1>,time<1.000319>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:20]thread<1>,time<1.001622>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:21]thread<1>,time<1.000395>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:22]thread<1>,time<1.001341>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:23]thread<1>,time<1.000381>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:24]thread<1>,time<1.000349>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:25]thread<1>,time<1.000348>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:26]thread<1>,time<1.000344>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:27]thread<1>,time<1.000345>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:52:28]AcceptEx ipv4_local[127.0.0.1]
Info [2023-12-6 23:52:28]AcceptEx ipv4_remote[127.0.0.1]
Info [2023-12-6 23:52:28]new client[sockfd=516][ip=127.0.0.1] to join.
Info [2023-12-6 23:52:41]Accept New Client : [ip=127.0.0.1] [cSock=516]
Info [2023-12-6 23:52:41]thread<1>,time<14.478189>,socket<460>,Accept<1>,Join<1>,recv<0>,msg<0>
Info [2023-12-6 23:52:41]AcceptEx ipv4_local[127.0.0.1]
Info [2023-12-6 23:52:41]AcceptEx ipv4_remote[127.0.0.1]
Info [2023-12-6 23:52:41]new client[sockfd=520][ip=127.0.0.1] to join.
Info [2023-12-6 23:52:41]Accept New Client : [ip=127.0.0.1] [cSock=520]
Info [2023-12-6 23:52:42]thread<1>,time<1.001325>,socket<460>,Accept<2>,Join<2>,recv<1>,msg<2>
Info [2023-12-6 23:52:43]thread<1>,time<1.000323>,socket<460>,Accept<2>,Join<2>,recv<0>,msg<0>
Info [2023-12-6 23:52:44]thread<1>,time<1.000388>,socket<460>,Accept<2>,Join<2>,recv<0>,msg<0>
Info [2023-12-6 23:52:45]thread<1>,time<1.000339>,socket<460>,Accept<2>,Join<2>,recv<0>,msg<0>
Info [2023-12-6 23:52:46]thread<1>,time<1.001283>,socket<460>,Accept<2>,Join<2>,recv<0>,msg<0>
Info [2023-12-6 23:52:47]thread<1>,time<1.001325>,socket<460>,Accept<2>,Join<2>,recv<0>,msg<0>
Info [2023-12-6 23:52:48]thread<1>,time<1.001325>,socket<460>,Accept<2>,Join<2>,recv<0>,msg<0>
Info [2023-12-6 23:52:49]thread<1>,time<1.000452>,socket<460>,Accept<2>,Join<2>,recv<62>,msg<62>
Info [2023-12-6 23:52:50]thread<1>,time<1.000054>,socket<460>,Accept<2>,Join<2>,recv<294>,msg<294>
Info [2023-12-6 23:52:51]thread<1>,time<1.001323>,socket<460>,Accept<2>,Join<2>,recv<274>,msg<274>
Info [2023-12-6 23:52:52]thread<1>,time<1.001284>,socket<460>,Accept<2>,Join<2>,recv<274>,msg<275>
Info [2023-12-6 23:52:53]thread<1>,time<1.000377>,socket<460>,Accept<2>,Join<2>,recv<282>,msg<282>
Info [2023-12-6 23:52:54]thread<1>,time<1.000288>,socket<460>,Accept<2>,Join<2>,recv<294>,msg<294>
Info [2023-12-6 23:52:55]thread<1>,time<1.000324>,socket<460>,Accept<2>,Join<2>,recv<254>,msg<254>
Info [2023-12-6 23:52:56]thread<1>,time<1.000326>,socket<460>,Accept<2>,Join<2>,recv<258>,msg<259>
Info [2023-12-6 23:52:57]thread<1>,time<1.000286>,socket<460>,Accept<2>,Join<2>,recv<270>,msg<271>
Info [2023-12-6 23:52:58]thread<1>,time<1.001324>,socket<460>,Accept<2>,Join<2>,recv<278>,msg<279>
Info [2023-12-6 23:52:59]thread<1>,time<1.000289>,socket<460>,Accept<2>,Join<2>,recv<270>,msg<271>
Info [2023-12-6 23:53:0]thread<1>,time<1.000322>,socket<460>,Accept<2>,Join<2>,recv<292>,msg<293>
Info [2023-12-6 23:53:1]thread<1>,time<1.001115>,socket<460>,Accept<2>,Join<2>,recv<304>,msg<304>
Info [2023-12-6 23:53:2]thread<1>,time<1.001324>,socket<460>,Accept<2>,Join<2>,recv<254>,msg<255>
Info [2023-12-6 23:53:3]thread<1>,time<1.001321>,socket<460>,Accept<2>,Join<2>,recv<278>,msg<279>
Info [2023-12-6 23:53:4]thread<1>,time<1.000380>,socket<460>,Accept<2>,Join<2>,recv<186>,msg<187>
Info [2023-12-6 23:53:4]RmClient socket[sockClient=520], IO_TYPE::RECV bytesTrans=[0].
Info [2023-12-6 23:53:4]socket[520] OnClose.
Info [2023-12-6 23:53:4]RmClient socket[sockClient=516], IO_TYPE::RECV bytesTrans=[0].
Info [2023-12-6 23:53:4]socket[516] OnClose.
Info [2023-12-6 23:53:5]client<516> leave
Info [2023-12-6 23:53:5]~Client[sId=1 id=1 socket=516]
Info [2023-12-6 23:53:5]Client::Destory[sId=1 id=1 socket=516]
Info [2023-12-6 23:53:5]client<520> leave
Info [2023-12-6 23:53:5]~Client[sId=1 id=2 socket=520]
Info [2023-12-6 23:53:5]Client::Destory[sId=1 id=2 socket=520]
Info [2023-12-6 23:53:5]thread<1>,time<1.001280>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:6]thread<1>,time<1.000325>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:7]thread<1>,time<1.000324>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:8]thread<1>,time<1.000386>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:9]thread<1>,time<1.001383>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:10]thread<1>,time<1.001342>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:11]thread<1>,time<1.001318>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:12]thread<1>,time<1.000535>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:13]thread<1>,time<1.001278>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:14]thread<1>,time<1.001386>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:15]thread<1>,time<1.001322>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:16]thread<1>,time<1.001323>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:17]thread<1>,time<1.001318>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:18]thread<1>,time<1.001277>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:19]thread<1>,time<1.000324>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:20]thread<1>,time<1.001320>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:21]thread<1>,time<1.001373>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:22]thread<1>,time<1.000028>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:23]thread<1>,time<1.001322>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:24]thread<1>,time<1.000339>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:25]thread<1>,time<1.001349>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:26]thread<1>,time<1.001343>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:27]thread<1>,time<1.001383>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:28]thread<1>,time<1.001281>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000371>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000393>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.001448>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000931>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000239>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000194>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.001438>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000408>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000966>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000265>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000485>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.002405>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.001166>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000863>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.001472>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000601>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000125>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.001514>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000617>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.001346>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000880>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.000985>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:52]thread<1>,time<1.001253>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:53]thread<1>,time<1.001359>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:54]thread<1>,time<1.000790>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:55]thread<1>,time<1.000107>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:56]thread<1>,time<1.000923>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:57]thread<1>,time<1.001238>,socket<460>,Accept<0>,Join<0>,recv<0>,msg<0>
Info [2023-12-6 23:53:57]TcpServer.Close begin
Info [2023-12-6 23:53:57]Server1.Close begin
Info [2023-12-6 23:53:57]Server1.OnRun exit
Info [2023-12-6 23:53:57]Server1.Close end
Info [2023-12-6 23:53:57]Server1.~Server exit begin
Info [2023-12-6 23:53:57]Server1.Close begin
Info [2023-12-6 23:53:57]Server1.Close end
Info [2023-12-6 23:53:57]Server1.~Server exit end
Info [2023-12-6 23:53:57]TcpServer.Close end
Info [2023-12-6 23:53:57]exit.
Info [2023-12-6 23:53:57]TcpServer.Close begin
Info [2023-12-6 23:53:57]TcpServer.Close end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册