Vedoucí práce: Ing. Ladislav Beránek, CSc. Autor: Marek Balej
Zpracování teoretického výkladu o fungování sítí (TCP/IP) Zmapování a popis nástrojů pro práci se sockety v C# Zmapování a popis nástrojů pro práci s aplikačními protokoly v C# Vytvoření ukázkových aplikací
Vyvinuty na univerzitě v Berkley Rozhraní pro přístup k nižším vrstvám SM BSD Socket Později implementováno pro další platformy
Nastudování principů síťové komunikace Seznámení s nástroji pro práci se sockety v C# Seznámení s nástroji pro práci aplikačními protokoly C# Zmapování dalších možností Nastudování nástrojů balíku Rebex Total Pack
UDP klient, UDP server (nespojovaná komunikace) Chat klient, Chat server (spojově orientovaná komunikace) Chat klient, Chat server (neblokující sockety) Zálohování dat (přenos souborů) Test dostupnosti (raw socket) FTP klient FTP klient (Rebex) Mail klient (Rebex)
Porovnání kódu FTP klientů FtpWebResponse, FtpWebRequest (.NET) Ftp (Rebex)
private void Nahraj(object obj) { string nazev = (string)obj; FileInfo info = new FileInfo(nazev); try { FtpWebRequest pozadavek = (FtpWebRequest)FtpWebRequest.Create(adresa + "/" + info.Name); pozadavek.Credentials = new NetworkCredential(uzivatel.Text, heslo.Text); pozadavek.Method = WebRequestMethods.Ftp.UploadFile; FileStream stream = File.OpenRead(nazev); Stream streamServeru = pozadavek.GetRequestStream(); byte[] buffer = new byte[1024]; int precteno = 1; while (precteno > 0) { precteno = stream.Read(buffer, 0, buffer.Length); streamServeru.Write(buffer, 0, buffer.Length); } stream.Close(); streamServeru.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } ZobrazObsah(); }
private void Nahraj(object obj) { string nazev = (string)obj; FileInfo info = new FileInfo(nazev); try { klient.PutFile(nazev, klient.GetCurrentDirectory() + "/" + info.Name); } catch (Exception ex) { MessageBox.Show(ex.Message); } zobrazObsah(); }
public void vytvorSlozku(String nazev) { try { FtpWebRequest pozadavek = (FtpWebRequest)FtpWebRequest.Create(adresa + "/" + nazev); pozadavek.Credentials = new NetworkCredential(uzivatel.Text, heslo.Text); pozadavek.Method = WebRequestMethods.Ftp.MakeDirectory; FtpWebResponse resp = (FtpWebResponse)pozadavek.GetResponse(); } catch (Exception ex) { MessageBox.Show(ex.Message); } ZobrazObsah(); }
public void PridejSlozku(string nazevSlozky) { string soucasna = klient.GetCurrentDirectory(); try { klient.CreateDirectory(soucasna+"/"+ nazevSlozky); } catch(Exception ex) { MessageBox.Show(ex.Message); } zobrazObsah(); }
Byly vytvořeny ukázkové okomentované aplikace Ucelený průvodce síťovým programováním v jazyce C# Funkční ukázky kódů s podrobným popisem a s vysvětlenou související problematikou Předvedení doplňujícího balíku Rebex pro práci s aplikačními protokoly