1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

For #988, refine code.

This commit is contained in:
winlin 2017-10-14 12:09:53 +08:00
parent 823dc2df21
commit 922a8f3a5c
11 changed files with 104 additions and 122 deletions

View file

@ -1104,16 +1104,6 @@ void srs_update_rtmp_server(int nb_conn, SrsKbps* kbps)
}
}
int srs_check_ipv6()
{
int sd = socket(AF_INET6, SOCK_DGRAM, 0);
if(sd >= 0) {
close(sd);
return 1;
}
return 0;
}
string srs_get_local_ip(int fd)
{
// discovery client information
@ -1122,19 +1112,16 @@ string srs_get_local_ip(int fd)
if (getsockname(fd, (sockaddr*)&addr, &addrlen) == -1) {
return "";
}
srs_verbose("get local ip success.");
char address_string[64];
const int success = getnameinfo((const sockaddr*)&addr, addrlen,
(char*)&address_string, sizeof(address_string),
NULL, 0,
NI_NUMERICHOST);
if(success != 0) {
char saddr[64];
char* h = (char*)saddr;
socklen_t nbh = (socklen_t)sizeof(saddr);
const int r0 = getnameinfo((const sockaddr*)&addr, addrlen, h, nbh,NULL, 0, NI_NUMERICHOST);
if(r0 != 0) {
return "";
}
srs_verbose("get local ip of client ip=%s, fd=%d", address_string, fd);
return std::string(address_string);
return std::string(saddr);
}
int srs_get_local_port(int fd)
@ -1145,7 +1132,6 @@ int srs_get_local_port(int fd)
if (getsockname(fd, (sockaddr*)&addr, &addrlen) == -1) {
return 0;
}
srs_verbose("get local ip success.");
int port = 0;
switch(addr.ss_family) {
@ -1157,7 +1143,6 @@ int srs_get_local_port(int fd)
break;
}
srs_verbose("get local port of client port=%s, fd=%d", port, fd);
return port;
}
@ -1169,19 +1154,16 @@ string srs_get_peer_ip(int fd)
if (getsockname(fd, (sockaddr*)&addr, &addrlen) == -1) {
return "";
}
srs_verbose("get peer ip success.");
char address_string[64];
const int success = getnameinfo((const sockaddr*)&addr, addrlen,
(char*)&address_string, sizeof(address_string),
NULL, 0,
NI_NUMERICHOST);
if(success != 0) {
char saddr[64];
char* h = (char*)saddr;
socklen_t nbh = (socklen_t)sizeof(saddr);
const int r0 = getnameinfo((const sockaddr*)&addr, addrlen, h, nbh, NULL, 0, NI_NUMERICHOST);
if(r0 != 0) {
return "";
}
srs_verbose("get peer ip of client ip=%s, fd=%d", address_string, fd);
return std::string(address_string);
return std::string(saddr);
}
bool srs_is_digit_number(const string& str)