Browse Source

新增C++实现的websocket服务器代码

master
xing 3 months ago
parent
commit
ca691857c4
  1. BIN
      ConsoleApplication3/.vs/ConsoleApplication3/FileContentIndex/9aa181bc-426a-45a9-9a0e-f83ffc2acb33.vsidx
  2. BIN
      ConsoleApplication3/.vs/ConsoleApplication3/FileContentIndex/f860067b-3463-4c23-ac88-5b3ebd0f8d25.vsidx
  3. BIN
      ConsoleApplication3/.vs/ConsoleApplication3/v17/.suo
  4. BIN
      ConsoleApplication3/.vs/ConsoleApplication3/v17/Browse.VC.db
  5. 6
      ConsoleApplication3/.vs/ConsoleApplication3/v17/DocumentLayout.backup.json
  6. 2
      ConsoleApplication3/.vs/ConsoleApplication3/v17/DocumentLayout.json
  7. BIN
      ConsoleApplication3/.vs/ConsoleApplication3/v17/Solution.VC.db
  8. BIN
      ConsoleApplication3/.vs/ConsoleApplication3/v17/ipch/AutoPCH/81627db9d2113038/MAIN.ipch
  9. BIN
      ConsoleApplication3/bin/x64/Debug/ConsoleApplication3.out
  10. 57
      ConsoleApplication3/main.cpp
  11. 2
      ConsoleApplication3/obj/x64/Debug/1622921215.CompileUpToDateFile.tlog
  12. 2
      ConsoleApplication3/obj/x64/Debug/1622921215.CopySourcesUpToDateFile.tlog
  13. 12
      ConsoleApplication3/obj/x64/Debug/ConsoleApplication3.Build.CppClean.log

BIN
ConsoleApplication3/.vs/ConsoleApplication3/FileContentIndex/9aa181bc-426a-45a9-9a0e-f83ffc2acb33.vsidx

Binary file not shown.

BIN
ConsoleApplication3/.vs/ConsoleApplication3/FileContentIndex/f860067b-3463-4c23-ac88-5b3ebd0f8d25.vsidx

Binary file not shown.

BIN
ConsoleApplication3/.vs/ConsoleApplication3/v17/.suo

Binary file not shown.

BIN
ConsoleApplication3/.vs/ConsoleApplication3/v17/Browse.VC.db

Binary file not shown.

6
ConsoleApplication3/.vs/ConsoleApplication3/v17/DocumentLayout.backup.json

@ -22,9 +22,9 @@
"Title": "main.cpp",
"DocumentMoniker": "E:\\DataFile\\ProjectX\\TalkingWeb\\ConsoleApplication3\\main.cpp",
"RelativeDocumentMoniker": "main.cpp",
"ToolTip": "E:\\DataFile\\ProjectX\\TalkingWeb\\ConsoleApplication3\\main.cpp*",
"RelativeToolTip": "main.cpp*",
"ViewState": "AgIAAAAAAAAAAAAAAADwvwUAAAAwAAAAAAAAAA==",
"ToolTip": "E:\\DataFile\\ProjectX\\TalkingWeb\\ConsoleApplication3\\main.cpp",
"RelativeToolTip": "main.cpp",
"ViewState": "AgIAABUAAAAAAAAAAAAAADIAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
"WhenOpened": "2025-02-16T16:03:02.248Z",
"EditorCaption": ""

2
ConsoleApplication3/.vs/ConsoleApplication3/v17/DocumentLayout.json

@ -24,7 +24,7 @@
"RelativeDocumentMoniker": "main.cpp",
"ToolTip": "E:\\DataFile\\ProjectX\\TalkingWeb\\ConsoleApplication3\\main.cpp",
"RelativeToolTip": "main.cpp",
"ViewState": "AgIAAAAAAAAAAAAAAADwvwgAAAABAAAAAAAAAA==",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAABAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
"WhenOpened": "2025-02-16T16:03:02.248Z",
"EditorCaption": ""

BIN
ConsoleApplication3/.vs/ConsoleApplication3/v17/Solution.VC.db

Binary file not shown.

BIN
ConsoleApplication3/.vs/ConsoleApplication3/v17/ipch/AutoPCH/81627db9d2113038/MAIN.ipch

Binary file not shown.

BIN
ConsoleApplication3/bin/x64/Debug/ConsoleApplication3.out

Binary file not shown.

57
ConsoleApplication3/main.cpp

@ -1,9 +1,58 @@
#include <cstdio>
#include <iostream>
using namespace std;
#include <websocketpp/config/asio_no_tls.hpp>
#include <websocketpp/server.hpp>
// 0.定义server_t类型
typedef websocketpp::server<websocketpp::config::asio> server_t;
void OnOpen(websocketpp::connection_hdl hdl)
{
std::cout << "Websocket长连接建立成功" << std::endl;
}
void OnClose(websocketpp::connection_hdl hdl)
{
std::cout << "Websocket长连接断开" << std::endl;
}
void OnMessage(server_t* svr, websocketpp::connection_hdl hdl, server_t::message_ptr msg)
{
std::string body = msg->get_payload();
std::cout << "Get Msg: " << body << std::endl;
auto conn = svr->get_con_from_hdl(hdl);
conn->send(body + "-Response", websocketpp::frame::opcode::value::text);
}
int main()
{
cout << "你好,这是我的第一个在Linux上部署调试的CPP文件"<<endl;
printf("%s 向你问好!\n", "ConsoleApplication3");
return 0;
// 1.实例化服务器对象
server_t svr;
// 2.初始化日志输出 --> 关闭日志输出
svr.set_access_channels(websocketpp::log::alevel::none);
// 3.初始化ASIO框架
svr.init_asio();
// 4.设置消息处理/连接握手成功/连接关闭回调函数
svr.set_open_handler(OnOpen);
svr.set_close_handler(OnClose);
auto msg_handler = std::bind(OnMessage, &svr, std::placeholders::_1,
std::placeholders::_2);
svr.set_message_handler(msg_handler);
// 5.启用地址重用
svr.set_reuse_addr(true);
// 6.设置监听端口
svr.listen(8081);
// 7.开始监听
svr.start_accept();
// 8.启动服务器
svr.run();
}

2
ConsoleApplication3/obj/x64/Debug/1622921215.CompileUpToDateFile.tlog

@ -1 +1 @@
E:\DataFile\ProjectX\TalkingWeb\ConsoleApplication3\main.cpp|638753481411401034|/root/ProjectCpp/root/ProjectCpp/ConsoleApplication3/||g++ -c -x c++ /root/ProjectCpp/root/ProjectCpp/ConsoleApplication3/main.cpp -I /usr/include -g2 -gdwarf-2 -o "/root/ProjectCpp/root/ProjectCpp/ConsoleApplication3/obj/x64/Debug/main.o" -Wall -Wswitch -W"no-deprecated-declarations" -W"empty-body" -Wconversion -W"return-type" -Wparentheses -W"no-format" -Wuninitialized -W"unreachable-code" -W"unused-function" -W"unused-value" -W"unused-variable" -O0 -fno-strict-aliasing -fno-omit-frame-pointer -fthreadsafe-statics -fexceptions -frtti -std=c++11
E:\DataFile\ProjectX\TalkingWeb\ConsoleApplication3\main.cpp|638753491610634226|/root/ProjectCpp/root/ProjectCpp/ConsoleApplication3/||g++ -c -x c++ /root/ProjectCpp/root/ProjectCpp/ConsoleApplication3/main.cpp -I /usr/include -g2 -gdwarf-2 -o "/root/ProjectCpp/root/ProjectCpp/ConsoleApplication3/obj/x64/Debug/main.o" -Wall -Wswitch -W"no-deprecated-declarations" -W"empty-body" -Wconversion -W"return-type" -Wparentheses -W"no-format" -Wuninitialized -W"unreachable-code" -W"unused-function" -W"unused-value" -W"unused-variable" -O0 -fno-strict-aliasing -fno-omit-frame-pointer -fthreadsafe-statics -fexceptions -frtti -std=c++11

2
ConsoleApplication3/obj/x64/Debug/1622921215.CopySourcesUpToDateFile.tlog

@ -1 +1 @@
E:\DataFile\ProjectX\TalkingWeb\ConsoleApplication3\main.cpp|638753481411401034|/root/ProjectCpp//root/ProjectCpp/ConsoleApplication3/|
E:\DataFile\ProjectX\TalkingWeb\ConsoleApplication3\main.cpp|638753491610634226|/root/ProjectCpp//root/ProjectCpp/ConsoleApplication3/|

12
ConsoleApplication3/obj/x64/Debug/ConsoleApplication3.Build.CppClean.log

@ -0,0 +1,12 @@
e:\datafile\projectx\talkingweb\consoleapplication3\obj\x64\debug\1622921215.compileuptodatefile.tlog
e:\datafile\projectx\talkingweb\consoleapplication3\obj\x64\debug\1622921215.linkuptodatefile.tlog
e:\datafile\projectx\talkingweb\consoleapplication3\obj\x64\debug\1622921215.copysourcesuptodatefile.tlog
e:\datafile\projectx\talkingweb\consoleapplication3\obj\x64\debug\1622921215.local_remote_pathmapping.tlog
e:\datafile\projectx\talkingweb\consoleapplication3\obj\x64\debug\1622921215.remoteprojectdirfile.tlog
e:\datafile\projectx\talkingweb\consoleapplication3\obj\x64\debug\lastremotetarget.tlog
e:\datafile\projectx\talkingweb\consoleapplication3\bin\x64\debug\consoleapplication3.out
e:\datafile\projectx\talkingweb\consoleapplication3\obj\x64\debug\consoleapplication3.vcxproj.filelistabsolute.txt
e:\datafile\projectx\talkingweb\consoleapplication3\obj\x64\debug\consolea.cca6b3fc.tlog\cl.items.tlog
e:\datafile\projectx\talkingweb\consoleapplication3\obj\x64\debug\consolea.cca6b3fc.tlog\compile.read.1.tlog
e:\datafile\projectx\talkingweb\consoleapplication3\obj\x64\debug\consolea.cca6b3fc.tlog\compile.write.1.tlog
e:\datafile\projectx\talkingweb\consoleapplication3\obj\x64\debug\consolea.cca6b3fc.tlog\link.write.1.tlog
Loading…
Cancel
Save