mirror of
https://github.com/zeromq/libzmq.git
synced 2025-02-22 23:11:03 +01:00
vtcp connection string simplified
Till now, vtcp connection contained both port and subport. Now the port, if not specified, defaults to 9220. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
This commit is contained in:
parent
be48970977
commit
24230515f5
@ -83,15 +83,27 @@ int zmq::vtcp_connecter_t::set_address (const char *addr_)
|
||||
{
|
||||
const char *delimiter = strrchr (addr_, '.');
|
||||
if (!delimiter) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
delimiter = strrchr (addr_, ':');
|
||||
if (!delimiter) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
std::string addr_str (addr_, delimiter - addr_);
|
||||
addr_str += ":9220";
|
||||
std::string subport_str (delimiter + 1);
|
||||
subport = (vtcp_subport_t) atoi (subport_str.c_str ());
|
||||
int rc = resolve_ip_hostname (&addr, &addr_len, addr_str.c_str ());
|
||||
if (rc != 0)
|
||||
return -1;
|
||||
}
|
||||
else {
|
||||
std::string addr_str (addr_, delimiter - addr_);
|
||||
std::string subport_str (delimiter + 1);
|
||||
subport = (vtcp_subport_t) atoi (subport_str.c_str ());
|
||||
int rc = resolve_ip_hostname (&addr, &addr_len, addr_str.c_str ());
|
||||
if (rc != 0)
|
||||
return -1;
|
||||
}
|
||||
std::string addr_str (addr_, delimiter - addr_);
|
||||
std::string subport_str (delimiter + 1);
|
||||
subport = (vtcp_subport_t) atoi (subport_str.c_str ());
|
||||
int rc = resolve_ip_hostname (&addr, &addr_len, addr_str.c_str ());
|
||||
if (rc != 0)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -59,15 +59,19 @@ int zmq::vtcp_listener_t::set_address (const char *addr_)
|
||||
}
|
||||
|
||||
// Parse port and subport.
|
||||
uint16_t port;
|
||||
uint32_t subport;
|
||||
const char *delimiter = strrchr (addr_, '.');
|
||||
if (!delimiter) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
port = 9220;
|
||||
subport = (uint32_t) atoi (addr_ + 2);
|
||||
}
|
||||
else {
|
||||
std::string port_str (addr_ + 2, delimiter - addr_ - 2);
|
||||
std::string subport_str (delimiter + 1);
|
||||
port = (uint16_t) atoi (port_str.c_str ());
|
||||
subport = (uint32_t) atoi (subport_str.c_str ());
|
||||
}
|
||||
std::string port_str (addr_ + 2, delimiter - addr_ - 2);
|
||||
std::string subport_str (delimiter + 1);
|
||||
uint16_t port = (uint16_t) atoi (port_str.c_str ());
|
||||
uint32_t subport = (uint32_t) atoi (subport_str.c_str ());
|
||||
|
||||
// Start listening.
|
||||
s = vtcp_bind (port, subport);
|
||||
|
Loading…
x
Reference in New Issue
Block a user