首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> Symbian >> 网络 >> 正文
对IP地址的存取技巧
作者:博客园丁    文章来源:博客园丁    更新时间:2006-12-1 10:37:51
Symbian中IP地址类型为TInetAddr,它继承自TBuf8<KMaxSockAddrSize>,是普通的socket server地址类TSockAddr的特殊类。

TInetAddr的赋值采取下面的方法:
TInetAddr iIPAddress;
const KFirewallRuleIPAddress = 10 ;
iIPAddress.SetAddress(
            INET_ADDR( KFirewallRuleIPAddress,
                       KFirewallRuleIPAddress,
                       KFirewallRuleIPAddress,
                       KFirewallRuleIPAddress
                      )
                      )

开始我没有找到使用FileStream存取IP地址的方法,所以只好把IP地址声明成了TBuf类型,因为我知道TBuf的存取方法。但是后来看到TInetAddr是TBuf8的子类,想想其存取方法应该和TBuf的一样,所以经过不断的摸索找到了正确的方法(其实不断的摸索,主要的原因是把TUint8*写成了TUint16*,导致老是无法正确的读取IP地址)。

用RFileWriterStream来写IP地址:
 1     RFs iFs ; 
 2     User::LeaveIfError(iFs.Connect()) ; 
 3     RFileWriteStream writer;
 4     writer.PushL();
 5     User::LeaveIfError(writer.Replace(iFs, KFirewallRuleFileName, EFileWrite));
 6     TInet len = 0 ;
 7     len = rule.iIPAddress.Length();              
 8     writer.WriteInt32L(len);
 9     if(len)                    writer.WriteL(rule.iIPAddress.Ptr(), len ) ;            
10     writer.CommitL();            
11     CleanupStack::PopAndDestroy(); 
12     iFs.Close() ;
13 

第7行获得IP地址的长度,其实本长度是固定的12个字节,不保存也可以。
第8行将其长度写入文件中。
第9行保存IP地址到文件中。

用RFileReaderStream来读IP地址:
 1     RFs iFs ; 
 2     User::LeaveIfError(iFs.Connect()) ; 
 3     RFileWriteStream writer;
 4     writer.PushL();
 5     User::LeaveIfError(writer.Replace(iFs, KFirewallRuleFileName, EFileRead));
 6     TInet len = 0 ;
 7     len = reader.ReadInt32L();
       
 8     if(len)                    reader.ReadL((TUint8*)rule.iIPAddress.Ptr(), len ) ;            
 9     rule.iIPAddress.SetLength(len) ;
10     CleanupStack::PopAndDestroy(); 
11     iFs.Close() ;
相关文章:
如何在进程间共享文件句柄
能力(Capabilities)
在S60 3rd的手机上显示所有已安装程序的Uid
S60平台:Bluetooth API开发伙伴指南——蓝牙开发接口V2的结构
创建不提示用户使用哪种方法连接或者选择哪个GPRS接入点的Internet连接
在Symbian exe 程序中显示图形
利用Recognizer编写自己的开机自启动程序
图片半透明效果
 

站点地图 | 加入收藏 | 联系站长 | 广告服务 |
QQ:280529124  Tel:0592-8271361 辽ICP备05021703号