Symbian 读取本机IP地址的方法
2010-02-10 00:30:00 来源:WEB开发网核心提示:在socket编程中,在给服务器发送消息时,Symbian 读取本机IP地址的方法,常常需要附带本机IP地址和端口,我们可以用下面的方法提取出本机的IP地址:RHostResolver iResolver;//include //insock.libRSocketServ iSocketServ;//incluide
在socket编程中,在给服务器发送消息时,常常需要附带本机IP地址和端口,我们可以用下面的方法提取出本机的IP地址:
RHostResolver iResolver;//include
RSocketServ iSocketServ;//incluide
TNameEntry iNameEntry;
TBuf<20> iHostName;
iResolver.Open(iSocketServ, KAfInet, KProtocolInetUdp);
//The name is always localhost
User::LeaveIfError(iResolver.GetHostName(iHostName));//此处使用同步同载,也可以使用异步重载
iResolver.GetByName(iHostName, iNameEntry);//同上
TNameRecord nr = iNameEntry();//转化提取出的信息
TBuf<40> addr;//接收并存储转化后的IP地址
TInetAddr anAddr = nr.iAddr;
TUint32 address = anAddr.Address();
//用位运算将地址分离
addr.Format(_L("%d.%d.%d.%d"), TInt(address >> 24),
TInt((0x00FF0000 & address) >> 16),
TInt((0x0000FF00 & address) >> 8),
TInt(0x000000FF & address));
更多精彩
赞助商链接