Hi Symbian and UIQ masters.
I making a programm wich usuing sockets, RSocket::Connect gives error -46, what i doing wrong?
This example working fine.
I using capability: AllFiles NetworkControl NetworkServices ProtServ ReadDeviceData ReadUserData SwEvent UserEnvironment WriteDeviceData WriteUserData
Here is my code:
TBuf<256> iServer;
TInt iPort;
TInt err = 0;
TBuf8<128> iserver8;
iserver8 = (TUint8 *) hostname;
ConvertRev(iserver8, iServer);
iPort = port;
err = iSocketServ.Connect();
if( err != KErrNone )
{
User::LeaveIfError(err);
}
err = iConnection.Open(iSocketServ, KConnectionTypeDefault);
if( err != KErrNone )
{
User::LeaveIfError(err);
}
TNameEntry entry;
err = addr.Input(iServer);
if(err != KErrNone)
{
err=iResolver.Open(iSocketServ, KAfInet, KProtocolInetTcp);
err=iResolver.GetByName(iServer,entry);
//error = 0 here!!! resolver passed OK
if(err != KErrNone)
{
User::LeaveIfError(err);
}
TNameRecord name=entry();
TInetAddr::Cast(name.iAddr).Output(iServer);
addr=entry().iAddr;
iResolver.Close();
}
else
{
addr.Output(iServer);
}
TCommDbConnPref prefs;
prefs. SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
prefs.SetDirection(ECommDbConnectionDirectionOutgoing);
err = iConnection.Start(/*prefs*/);
if( err != KErrNone )
{
User::LeaveIfError(err);
}
err = iSocket.Open(iSocketServ,KAfInet,KSockStream,KProtocolInetTcp);
if(err != KErrNone)
{
User::LeaveIfError(err);
}
User::LeaveIfError( iSocket.SetOpt(KSoInetEnumInterfaces,KSolInetIfCtrl)
);
iPort = port;
addr.SetPort(iPort);
iSocket.Connect( addr, iStatus );
User::LeaveIfError(iStatus.Int());
;
//HERE IS ERROR -46
Please give me answers from your experience, don't give me a links!!!!