Created
February 23, 2016 22:05
-
-
Save JFKingsley/543b03cc987e16614890 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <memory> | |
#include <string> | |
#include <grpc++/grpc++.h> | |
#include "helloworld.grpc.pb.h" | |
using grpc::Server; | |
using grpc::ServerBuilder; | |
using grpc::ServerContext; | |
using grpc::Status; | |
using helloworld::HelloRequest; | |
using helloworld::HelloReply; | |
using helloworld::Greeter; | |
// Logic and data behind the server's behavior. | |
class GreeterServiceImpl final : public Greeter::Service { | |
Status SayHello(ServerContext* context, const HelloRequest* request, | |
HelloReply* reply) override { | |
std::string prefix("Hello "); | |
reply->set_message(prefix + request->name()); | |
return Status::OK; | |
} | |
}; | |
void RunServer() { | |
std::string server_address("0.0.0.0:50051"); | |
GreeterServiceImpl service; | |
ServerBuilder builder; | |
// Listen on the given address without any authentication mechanism. | |
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials()); | |
// Register "service" as the instance through which we'll communicate with | |
// clients. In this case it corresponds to an *synchronous* service. | |
builder.RegisterService(&service); | |
// Finally assemble the server. | |
std::unique_ptr<Server> server(builder.BuildAndStart()); | |
std::cout << "Server listening on " << server_address << std::endl; | |
// Wait for the server to shutdown. Note that some other thread must be | |
// responsible for shutting down the server for this call to ever return. | |
server->Wait(); | |
} | |
int main(int argc, char** argv) { | |
RunServer(); | |
r |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class GreeterServiceImpl final : public Greeter::Service { | |
Status SayHello(ServerContext* context, const HelloRequest* request, | |
HelloReply* reply) override { | |
std::string prefix("Hello "); | |
reply->set_message(prefix + request->name()); | |
return Status::OK; | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment