Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xc13262215230
engine2.0
提交
c6f84b25
E
engine2.0
项目概览
xc13262215230
/
engine2.0
通知
9
Star
3
Fork
8
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine2.0
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c6f84b25
编写于
12月 14, 2023
作者:
xc13262215230
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
外网测试和跨域问题处理
上级
39a1675a
变更
7
展开全部
隐藏空白更改
内联
并排
Showing
7 changed file
with
10235 addition
and
454 deletion
+10235
-454
engine2.0/engine2.0/Depends/include/HttpClient.hpp
engine2.0/engine2.0/Depends/include/HttpClient.hpp
+1
-0
engine2.0/engine2.0/Depends/include/KeyString.hpp
engine2.0/engine2.0/Depends/include/KeyString.hpp
+3
-2
engine2.0/engine2.0/Doc/Record.txt
engine2.0/engine2.0/Doc/Record.txt
+26
-1
engine2.0/engine2.0/HelloHttp/ServerLog.txt
engine2.0/engine2.0/HelloHttp/ServerLog.txt
+0
-147
engine2.0/engine2.0/HelloHttp/config/ServerLog.txt
engine2.0/engine2.0/HelloHttp/config/ServerLog.txt
+10205
-304
engine2.0/engine2.0/engine2.0.sdf
engine2.0/engine2.0/engine2.0.sdf
+0
-0
engine2.0/engine2.0/engine2.0.v12.suo
engine2.0/engine2.0/engine2.0.v12.suo
+0
-0
未找到文件。
engine2.0/engine2.0/Depends/include/HttpClient.hpp
浏览文件 @
c6f84b25
...
...
@@ -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
"
);
...
...
engine2.0/engine2.0/Depends/include/KeyString.hpp
浏览文件 @
c6f84b25
...
...
@@ -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);
//}
...
...
engine2.0/engine2.0/Doc/Record.txt
浏览文件 @
c6f84b25
// 高性能网络通信服务器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的心跳检测很有必要,可以将掉线的客户端主动踢出,释放资源。
...
...
engine2.0/engine2.0/HelloHttp/ServerLog.txt
已删除
100644 → 0
浏览文件 @
39a1675a
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
engine2.0/engine2.0/HelloHttp/config/ServerLog.txt
浏览文件 @
c6f84b25
此差异已折叠。
点击以展开。
engine2.0/engine2.0/engine2.0.sdf
浏览文件 @
c6f84b25
无法预览此类型文件
engine2.0/engine2.0/engine2.0.v12.suo
浏览文件 @
c6f84b25
无法预览此类型文件
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录