I will use the ServerBuilder to create an service with one of a port of *my
defined port range* ( e.g. 50001 to 50100 )
If one port is used I will use the next one.
*Is this possible and how is this working? I will not check for free port
before.*
I tried the following:
- instantiate the builder
- add completion queue
- add one of the port to builder ->
AddListeningPort(L"0.0.0.0:50001", grpc::InsecureServerCredentials()
- instantiate new service
- register service
- and call BuildAndStart()
- if nullptr returned I try it again with an other port.
*-> this is not working. An exception occured ( Unhandled exception at
0x0f365dc4 (xxxx.dll) in xxxx.exe: 0xC0000005: Access violation reading
location 0xfeeefef2. )in method has_synchronous_methods() at for loop*
bool has_synchronous_methods() const {
for (auto it = methods_.begin(); it != methods_.end(); ++it) {
if (*it && (*it)->handler() != nullptr) {
return true;
}
}
return false;
}
Here is my code (simplyfied):
void MyService::Run( )
{
ServerBuilder builder;
_completionQueue = builder.AddCompletionQueue();
for( int portNumber = 50000; portNumber <= 50100; portNumber++ )
{
_runningService = std::make_shared<MyServiceBase>();
builder.AddListeningPort( _address + ":" + std::to_string(
portNumber ), grpc::InsecureServerCredentials(), &_port);
builder.RegisterService( _runningService.get() );
_server = builder.BuildAndStart();
if( !_server )
return;
}
HandleRpcs();
}
Thanks in advanced.
Kind regards
--
You received this message because you are subscribed to the Google Groups
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit
https://groups.google.com/d/msgid/grpc-io/d339c967-dbcb-4c6a-ac0a-3fa74d190c34%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.