Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

MFC i kako proci kroz Firewall

[es] :: C/C++ programiranje :: MFC i kako proci kroz Firewall

[ Pregleda: 2363 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kukipei
Niš

Član broj: 19564
Poruke: 164
*.smin.sezampro.yu.

Sajt: www.bestbetinfo.com


Profil

icon MFC i kako proci kroz Firewall12.08.2005. u 10:24 - pre 227 meseci
Pozdrav,

Pokusavam da skinem neke fajlove sa FTP servisa:
Kod:

CString Konekcija::SkiniFajlove(CString slovo)
{
TCHAR szCause[255];
CString sPoruka="";
CString strOpsti = this->m_strRemoteDir1;
try
{

//create the internet session
CInternetSession mysession("centr_mod", 1, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_DONT_CACHE);

m_strLocalDir1 = m_strPut1+"/"+strOpsti;

//get the ftp connection from internet session
CString str="";
m_edit->GetWindowText(str);
str = str + "Konektujem se na server" + " " +"radi skidanja fajlova "+slovo+"\r\n";
m_edit->SetWindowText(str);
m_edit->LineScroll(m_edit->GetLineCount());
CFtpConnection* pFtpConn = mysession.GetFtpConnection(m_strImeFTPServera, m_strFTPUsername, m_strFTPLozinka);
if (pFtpConn)
{
m_edit->GetWindowText(str);
str = str + "Uspesno sam se konektovao na server."+"\r\n";
m_edit->SetWindowText(str);
m_edit->LineScroll(m_edit->GetLineCount());

CFtpFileFind finder(pFtpConn);

BOOL bRadi;
BOOL bWorking = finder.FindFile(m_strRemoteDir1+"/*.*");
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDirectory() && !finder.IsDots())
{
CInternetSession mysession2("centr_mod", 1, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_DONT_CACHE);
CFtpConnection* pFtpConn2 = mysession2.GetFtpConnection(m_strImeFTPServera, m_strFTPUsername, m_strFTPLozinka);

CFtpFileFind nadji(pFtpConn2);

m_edit->GetWindowText(str);
str = str + "Trazim na FTP "+ m_strRemoteDir1+"/"+finder.GetFileName()+"/"+slovo+"\r\n";
m_edit->SetWindowText(str);
m_edit->LineScroll(m_edit->GetLineCount());

bRadi = nadji.FindFile(m_strRemoteDir1+"/"+finder.GetFileName()+"/"+slovo, INTERNET_FLAG_DONT_CACHE);
if (!bRadi)
{
m_edit->GetWindowText(str);
str = str + "Nisam nasao na FTP "+ m_strRemoteDir1+"/"+finder.GetFileName()+"/"+slovo+"\r\n";
m_edit->SetWindowText(str);
m_edit->LineScroll(m_edit->GetLineCount());
}
while (bRadi)
{
bRadi = nadji.FindNextFile();
if (pFtpConn2->GetFile(m_strRemoteDir1+"/"+(LPCTSTR) finder.GetFileName()+"/"+nadji.GetFileName(), m_strLocalDir1+"/"+(LPCTSTR) finder.GetFileName()+"/"+nadji.GetFileName(), FALSE))
{
m_edit->GetWindowText(str);
str = str + "Skinuo sam "+ finder.GetFileName()+" "+nadji.GetFileName()+"\r\n";
m_edit->SetWindowText(str);
m_edit->LineScroll(m_edit->GetLineCount());
UpisUBazu("Skinuo sam "+ finder.GetFileName()+" "+nadji.GetFileName());
sPoruka = "Skinuo sam "+ finder.GetFileName()+" "+nadji.GetFileName();
pFtpConn2->Remove(m_strRemoteDir1+"/"+(LPCTSTR) finder.GetFileName()+"/"+nadji.GetFileName());
}
else
{
//DWORD GR = GetLastError();
m_edit->GetWindowText(str);
str = str + "Greska! Nisam skinuo trazeni fajl! "+ finder.GetFileName()+" "+nadji.GetFileName()+"\r\n";
m_edit->SetWindowText(str);
m_edit->LineScroll(m_edit->GetLineCount());
UpisUBazu("Greska! Nisam skinuo trazeni fajl! "+ finder.GetFileName()+" "+nadji.GetFileName());
sPoruka = "Greska! Nisam skinuo trazeni fajl! "+ finder.GetFileName()+" "+nadji.GetFileName();
}
if (m_stop)
return "stani";

}
mysession2.Close();
}//--------------------------------------------
if (m_stop)
return "stani";

}

}
else
{
m_edit->GetWindowText(str);
str = str + "Greska! Nisam se konektovao na server!."+"\r\n";
m_edit->SetWindowText(str);
m_edit->LineScroll(m_edit->GetLineCount());
UpisUBazu("Greska! Nisam se konektovao na server!");
sPoruka = "Greska! Nisam se konektovao na server!";
}

mysession.Close();
}
catch(CException* error)
{
error->GetErrorMessage(szCause,254,NULL);
sPoruka.Format("%s",szCause);
CString str = "";
m_edit->GetWindowText(str);
str = str + sPoruka+" iz f-je SkiniFajlove "+slovo+"\r\n";
m_edit->SetWindowText(str);
m_edit->LineScroll(m_edit->GetLineCount());
UpisUBazu(sPoruka+" iz f-je SkiniFajlove "+slovo);
sPoruka = sPoruka+" iz f-je SkiniFajlove "+slovo;
}

return sPoruka;
}

kada je na racunaru ukljucen servis:
"Windows Firewall/Internet Connection Sharing"
ovaj kod radi izvesno vreme pa pukne. Pukne uvek na razlicito mesto u trenutku kada se obraca FTP serveru.

kada je gornji servis iskljucen sve radi odlicno.

Da li neko zna kako da prodjem kroz Firewall, posto mi je potrebno da gornji servis bude ukljucen.

Pozdrav.
 
Odgovor na temu

[es] :: C/C++ programiranje :: MFC i kako proci kroz Firewall

[ Pregleda: 2363 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.