重构代码,删除不必要的文件,添加控制数据包处理和Steam消息处理功能

This commit is contained in:
Ayndpa
2025-11-18 19:05:50 +08:00
parent 3b85a5f3bb
commit b308a644ff
11 changed files with 194 additions and 483 deletions

39
steam_message_handler.h Normal file
View File

@@ -0,0 +1,39 @@
#ifndef STEAM_MESSAGE_HANDLER_H
#define STEAM_MESSAGE_HANDLER_H
#include <vector>
#include <map>
#include <mutex>
#include <thread>
#include <boost/asio.hpp>
#include <steamnetworkingtypes.h>
#include "tcp_server.h"
#include "tcp/tcp_client.h"
#include "control_packets.h"
class SteamMessageHandler {
public:
SteamMessageHandler(boost::asio::io_context& io_context, ISteamNetworkingSockets* interface, std::vector<HSteamNetConnection>& connections, std::map<HSteamNetConnection, TCPClient*>& clientMap, std::mutex& clientMutex, std::unique_ptr<TCPServer>& server, bool& g_isHost, int& localPort);
~SteamMessageHandler();
void start();
void stop();
private:
void run();
void pollMessages();
boost::asio::io_context& io_context_;
ISteamNetworkingSockets* m_pInterface_;
std::vector<HSteamNetConnection>& connections_;
std::map<HSteamNetConnection, TCPClient*>& clientMap_;
std::mutex& clientMutex_;
std::unique_ptr<TCPServer>& server_;
bool& g_isHost_;
int& localPort_;
std::thread thread_;
bool running_;
};
#endif // STEAM_MESSAGE_HANDLER_H