Signed-off-by: tomoaki <tomoaki@tomy-tech.com>
This commit is contained in:
tomoaki
2019-05-28 16:31:52 +09:00
parent 3fae393efc
commit 6cb7935027
3 changed files with 38 additions and 10 deletions

View File

@@ -22,7 +22,7 @@
#
# Ex:
# #Client List
# ClientId1,192.168.10.10:11200@
# ClientId1,192.168.10.10:11200
# ClientID2,192.168.50.200:35000,unstableLine
# ClientID3,192.168.200.50:40000,secureConnection
# ClientID4,192.168.200.52:41000,unstableLine,secureConnection

View File

@@ -65,24 +65,52 @@ void SensorNetAddress::setAddress(struct sockaddr_in6 *IpAddr, uint16_t port)
/**
* convert Text data to SensorNetAddress
* @param buf is pointer of IP_Address:PortNo format text
* @param data is a IP_Address:PortNo format string
* @return success = 0, Invalid format = -1
*/
int SensorNetAddress::setAddress(string* data)
{
const char *cstr = data->c_str();
inet_pton(AF_INET6, cstr, &(_IpAddr.sin6_addr));
return 0;
size_t pos = data->find_last_of(":");
if ( pos != string::npos)
{
int portNo = 0;
string port = data->substr(pos + 1);
if ( ( portNo = atoi(port.c_str()) ) > 0 )
{
_portNo = htons(portNo);
string ip = data->substr(1,pos - 1);
const char *cstr = ip.c_str();
if (inet_pton(AF_INET6, cstr, &(_IpAddr.sin6_addr)) == 1 )
{
return 0;
}
}
}
_portNo = 0;
memset((void *)&_IpAddr,0,sizeof(_IpAddr));
return -1;
}
/**
* convert Text data to SensorNetAddress
* @param buf is pointer of IP_Address:PortNo format text
* @param data is pointer of IP_Address format text
* @return success = 0, Invalid format = -1
*/
int SensorNetAddress::setAddress(const char* data)
{
inet_pton(AF_INET6, data, &(_IpAddr.sin6_addr));
return 0;
if ( inet_pton(AF_INET6, data, &(_IpAddr.sin6_addr)) == 1 )
{
return 0;
}
else
{
return -1;
}
}
char* SensorNetAddress::getAddress(void)