gpt4 book ai didi

c++ - 使用 C++ 客户端访问 C++ 服务器时出现问题

转载 作者:行者123 更新时间:2023-11-30 03:06:59 25 4
gpt4 key购买 nike

基于 C++ 的服务器 Something_server 有一个打印 ping 的方法

#include "Something.h"
#include <protocol/TBinaryProtocol.h>
#include <server/TSimpleServer.h>
#include <transport/TServerSocket.h>
#include <transport/TBufferTransports.h>

using namespace ::apache::thrift;
using namespace ::apache::thrift::protocol;
using namespace ::apache::thrift::transport;
using namespace ::apache::thrift::server;

using boost::shared_ptr;

using namespace Test;
class SomethingHandler : virtual public SomethingIf {
public:
SomethingHandler() {
// Your initialization goes here
}

int32_t ping() {
// Your implementation goes here
printf("ping\n");
return 0;
}

};

int main(int argc, char **argv) {
int port = 9090;
shared_ptr<SomethingHandler> handler(new SomethingHandler());
shared_ptr<TProcessor> processor(new SomethingProcessor(handler));
shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());

TSimpleServer server(processor, serverTransport, transportFactory, protocolFactory);
server.serve();
return 0;
}

Something_client 应该调用此方法以打印出 "ping"

  #include "Something.h"  // As an example

#include <transport/TSocket.h>
#include <transport/TBufferTransports.h>
#include <protocol/TBinaryProtocol.h>

using namespace apache::thrift;
using namespace apache::thrift::protocol;
using namespace apache::thrift::transport;

using namespace Test;

int main(int argc, char **argv) {
boost::shared_ptr<TSocket> socket(new TSocket("localhost", 9090));
boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));

SomethingClient client(protocol);
transport->open();
client.ping();
transport->close();

return 0;
}

说明说“运行服务器并用客户端 ping 它”......不知道这是什么意思......

我愿意

 ./Something_server 

什么也没有发生......好像命令一直在运行而不是终止......所以我不太确定如何继续。

感谢所有帮助。

最佳答案

这意味着您应该首先运行 ./Something_server &(& 将作业置于后台,因此它不会使输出困惑)。然后你运行 ./Something_client 显然会 ping 服务器。

关于c++ - 使用 C++ 客户端访问 C++ 服务器时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6107187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com