Dydaktyka:
FeedbackTo jest stara wersja strony!
Metoda 1: (do użycia tylko jeśli rozmiar wiadomości jest wysyłany na początku lub jest z góry znany)
Metoda 2:
Zmieniając wiadomości (struktury / obiekty w języku programowania) w dane do wysłania w sieć (ciąg bajtów) (=serializacja) i na odwrót (=deserializacja), można:
Zwykle przygotowując ręcznie funkcję serializującą / deserializującą wiadomość:
Metoda 1:
Metoda 2:
Do oceny przy wysyłaniu czy połączenie zostało zerwane można sprawdzić:
write()
(trzeba go wcześniej zapisać)Przy programach nie wymagających wysokiej wydajności zwykle szuka się rozwiązań wymagających jak najmniej czasu od programisty - czyli szuka się bibliotek które robią większosć rzeczy za programistę.
Dla osiągniecia wysokiej wydajności zaleca się korzystanie z wydajnych, zwykle niskopoziomowych mechanizmów - albo bezpośrednio, albo za pomocą bibliotek nastawionych na wydajność (a nie wygodę użytkownika). Takie biblioteki są dostępne na różnym poziome abstrackji, porównaj np. boost asio i libevent). Wysokowydajne mechanizmy niskopoziomowe to:
Wiele usług sieciowych korzysta z ustandaryzowanych protokołów wymiany wiadomości, np. REST czy SOAP
Dostępnych też jest wiele middleware (warstw pośredniczących) które pozwalają programiście używać sieci bez pisania kodu obsługjącego sieć, np:
Często w komunikacji sieciowej korzysta się z dodatkowych warstw abstrakcji między TCP a wiadomościami aplikacyjnymi do osiągnięcia:
Aplikacje korzystające z sieci powinny dodatkowo zostać przetestowane pod kątem: