nätverksprogrammering
Nätverksprogrammering handlar om att skriva programvara som kommunicerar över datornätverk. Målet är att möjliggöra datautbyte mellan processer som ofta körs på olika maskiner, vanligtvis i klient–server- eller distribuerade arkitekturer. Vanliga användningsområden är webbapplikationer, API-tjänster, realtidskommunikation och IoT.
Grunderna inkluderar sockets, IP-adresser och portar samt protokoll som TCP och UDP. TCP ger tillförlitlig, ordnad
Vanliga mönster är klient–server, där klienten initierar förfrågningar; pub/sub för distribuerad kommunikation via ämnen; och streaming
Språk och bibliotek varierar, till exempel C med BSD-sockets; Java med java.net och NIO; Python med socket,
Vanliga utmaningar inom nätverksprogrammering är latens, genomströmning, felhantering, anslutningars livstid och nätverksfel. Säkerhet kräver korrekt kryptering,