Gniazdo Python AF_INET

Gniazdo Python AF_INET
„Sieć może być skonfigurowana tak, aby dwa węzły mogą oddziaływać na siebie za pomocą programowania gniazda. Podczas gdy drugie gniazdo dociera do drugiego, aby połączyć, jedno gniazdo (węzeł) na określonym porcie na adresie IP. Podczas połączenia klienta z serwerem serwer tworzy gniazdo słuchacza. Stanowią podstawę przeglądania online. Pierwszym krokiem w programowaniu gniazda jest włączenie pakietu gniazda i generowanie prostego gniazda.

Af_inet to pierwszy argument, a sock_stream byłby następny. AF_INET reprezentuje rodzinę adresu IPv4. W przeciwieństwie do IPv6 do AF inet6, AF INET odnosi się do gałęzi lub królestwa. Komunikacja TCP zorientowana na połączenie jest określana jako sock_stream. W tym artykule przyjrzymy się użyciu parametru AF_INET w programowaniu Pythona w narzędziu Spyder."

Przykład 1

Zaczęliśmy od pierwszego przykładu tego artykułu, aby utworzyć bezpieczne połączenie między gniazdem a serwerem hosta. W tym celu importowaliśmy moduł gniazda Pythona w pierwszym wierszu i module „SYS” w drugim wierszu za pomocą słowa kluczowego „Importuj”. Następnie wykorzystaliśmy koncepcję obsługi wyjątków, używając dwukrotnego oświadczenia Pythona w tym kodzie.

Po pierwsze, instrukcja TRY tworzy nowe gniazdo „S” za pomocą funkcji „gniazda” modułu gniazda w Python z jego dwoma parametrami, af_inet i sock_stream. AF_INET pokazuje, że gniazdo będzie korzystać z rodziny IPv4, a sock_str EAM został użyty do użycia protokołu TCP dla strumienia połączeń. Funkcja drukowania używa prostego zdania do wydrukowania w konsoli narzędzia Spyder, aby wyświetlić tworzenie gniazda.

Jeśli próba uzyskania adresu IP zakończy się powodzeniem, instrukcja, chyba że klauzula zostanie pominięta, a pozostały kod jest odpowiednio wykonywany. Instrukcja oprócz została użyta do wyświetlania błędu w konsoli, jeśli utworzenie gniazda bezskutecznie użyto gniazda.Obiekt błędu i zapisanie go na zmienną „e”. Po instrukcji TRY-Except () inicjowujemy numer portu „P” do 80 dla gniazda, i.mi., Domyślny port połączenia gniazda z serwerem WWW to 80. Następnym krokiem jest rozwiązanie hosta i podłączenie gniazda za pomocą adresu IP hosta.

W tym celu po raz kolejny wykorzystaliśmy instrukcję „TRY-ZEWNĘCIA” w kodzie Python. Instrukcja TRY została rozpoczęta od użycia funkcji gethostByName () modułu gniazda, która używa adresu URL Google, aby uzyskać „IP” i zapisać go na zmiennej bioder. Jeśli adres IP został pomyślnie znaleziono, nie wykona instrukcji oprócz instrukcji i będzie kontynuował wykonywanie następnych wierszy kodu. W przeciwnym razie, jeśli instrukcja oprócz „gaierror” modułu gniazda, użyje instrukcji drukowania, aby wyświetlić, że nie jesteśmy w stanie rozwiązać adresu IP hosta, a moduł „SYS” zostanie użyty do wywołania jego „wyjścia () ”Funkcja, aby zakończyć program w tej chwili.

Po obu instrukcjach prób, używaliśmy adresu IP Just GOT jako „bioder” i numeru portu „P” do podłączenia gniazda z hostem Google, i.mi., za pomocą funkcji Connect () modułu gniazda. Instrukcja drukowania linii końcowej pokaże, że gniazdo poprawnie połączyło się z hostem Google. Zapiszmy i uruchom nasz kod w Spyder, aby zobaczyć, co mamy w zamian.

Gniazdo importu
Import Sys
próbować:
S = gniazdo.gniazdo (gniazdo.AF_INET, gniazdo.Sock_stream)
wydruku!")
Z wyjątkiem gniazda.Błąd jako E:
Drukuj („Nie udało się utworzyć gniazda, błąd: %s” %(e))
p = 80
próbować:
Hip = gniazdo.GethostbyName („www.Google.com ')
Z wyjątkiem gniazda.Gaierror:
Drukuj („dostał błąd podczas rozwiązywania hosta!")
Sys.Wyjście()
S.Connect ((HIP, P))
Drukuj („Gniazdo zostało pomyślnie powiązane z Google… !")

Po uruchomieniu otrzymaliśmy wiadomości sukcesu na naszym ekranie konsoli Spyder. Pierwsze przesłanie było pokazane, że gniazdo zostało doskonale utworzone, a drugi wiersz pokazuje, że połączenie zostało również ustanowione.

Przykład 02

System komunikacji o nazwie UDP wysyła poszczególne pakiety za pośrednictwem sieci bez zapewnienia terminowej dostawy lub gwarantowanego przyjazdu. Cytat dnia jest taką usługą zatrudniającą UDP (QOTD). Rozpoczęliśmy ten program z importem modułu gniazda. Następnie korzystamy z menedżera kontekstowego „z” do utworzenia nowego gniazda jako „SOC”, wykorzystując parametry AF_INET i SOCK_DGRAM w funkcji modułu Socket (.

Następnie używamy zmiennej „tekst” do zainicjowania pustej wiadomości. Usługa QOTD działa, przekazując losowe informacje do gniazda; Kiedy dostarczamy pustą wiadomość, po prostu odpowiada z cytatem. Zastosujemy sekwencje binarne do komunikacji TCP/UDP. Numer portu został ustawiony na 17, aby otrzymywać dane z tytułu. Używamy adresu URL hosta i numeru portu, aby uzyskać adres IP „ADR” konkretnego hosta. Ten adres „ADR” i pusty wiadomość „tekst” został przekazany do funkcji sendto () modułu gniazda z obiektem „SOC”, aby wysłać go do konkretnego hosta.

Funkcja „recvFRSH” to metoda stosowana przez gniazda UDP do pobierania informacji. Rozmiar bufora służy jako jego parametr. Zwracana odpowiedź to duet (dane, adres), w którym parametr „adresu” jest identyfikatorem gniazda, który dostarczył dane, a parametr „informacyjny” jest sekwencją bajtów zawierającą uzyskane dane. Instrukcja drukowania używa funkcji „dekodowanie” do dekodowania i wyświetlania otrzymanych informacji.

Gniazdo importu
z gniazdem.gniazdo (gniazdo.AF_INET, gniazdo.Sock_dgram) jako SOC:
tekst = b ”
p = 17
ADR = ("Djxmmx.net ”, p)
Soc.sendto (tekst, ADR)
Informacje, Adres = SoC.recvfrom (1024)
Drukuj (informacje.rozszyfrować())

Kiedy wykonujemy ten program, mamy w zamian cytat.

Wniosek

W tym artykule dotyczy użycia rodziny modułów gniazda AF_INET w Python. Wypróbowaliśmy dwa przykłady, aby utworzyć gniazdo, podłączyć go do hosta, wysłać pustą wiadomość i odbierać cytaty od hosta.