使用RCF-2200 c++源码实现一个服务端多个客户端服务端下发任务给客户端。给出实现代码
以下是使用RCF-2.2.0.0 C++源码实现的一个简单的服务端和多个客户端的示例代码:
服务端代码(server.cpp):
#include <iostream>
#include <string>
#include <RCF/RCF.hpp>
class Task
{
public:
Task() {}
Task(const std::string& name) : m_name(name) {}
void execute()
{
std::cout << "Executing task: " << m_name << std::endl;
}
private:
std::string m_name;
};
class TaskService
{
public:
void executeTask(const Task& task)
{
task.execute();
}
};
int main()
{
try
{
RCF::RcfInit rcfInit;
TaskService taskService;
RCF::RcfServer server(RCF::TcpEndpoint(50001));
server.bind<TaskService>(taskService);
server.start();
std::cout << "Server started." << std::endl;
std::cout << "Press Enter to exit." << std::endl;
std::cin.get();
server.stop();
}
catch (const RCF::Exception& e)
{
std::cout << "Error: " << e.getErrorString() << std::endl;
return 1;
}
return 0;
}
客户端代码(client.cpp):
#include <iostream>
#include <string>
#include <RCF/RCF.hpp>
class Task
{
public:
Task() {}
Task(const std::string& name) : m_name(name) {}
void execute()
{
std::cout << "Executing task: " << m_name << std::endl;
}
private:
std::string m_name;
};
RCF_BEGIN(Task, "Task")
RCF_METHOD_R1(void, execute, const Task&)
RCF_END(Task)
int main()
{
try
{
RCF::RcfInit rcfInit;
RCF::RcfClient<TaskService> taskServiceClient(RCF::TcpEndpoint("localhost", 50001));
Task task("Task 1");
taskServiceClient.executeTask(task);
std::cout << "Task sent to server." << std::endl;
}
catch (const RCF::Exception& e)
{
std::cout << "Error: " << e.getErrorString() << std::endl;
return 1;
}
return 0;
}
请确保已将RCF-2.2.0.0的头文件和库文件正确包含到项目中,并根据需要进行编译和链接。
原文地址: http://www.cveoy.top/t/topic/i1Vm 著作权归作者所有。请勿转载和采集!