Na webu konference Den IPv6 2026, která se uskuteční 4. června v Národní technické knihovně v pražských Dejvicích, je nyní k dispozici kompletní program této tradiční akce věnované tématům spojeným s protokolem IPv6. Na celodenní pásmo přednášek je třeba se přihlásit a zaplatit účastnický poplatek 242 korun. Registrační formulář najdou zájemci opět na webu akce. Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.
Byl představen emulátor terminálu Ratty (GitHub) s podporu 3D grafiky přímo v terminálu. Inspirací byl operační systém TempleOS od Terryho Davise. Ratty je napsán v jazyce Rust. Využívá knihovnu Ratatui pro tvorbu rozhraní a herní engine Bevy pro 3D vykreslování.
Evropské instituce i některé americké státy dál zpřísňují pravidla pro ověřování věku na internetu. Cílem je zabránit dětem v přístupu k obsahu pro dospělé. Úřady ale narážejí na zásadní problém – stále více lidí používá VPN, tedy služby umožňující skrýt identitu i skutečnou polohu na internetu. Právě VPN nyní Evropská parlamentní výzkumná služba (EPRS) označila za „mezeru v legislativě, kterou je potřeba uzavřít“ [Novinky.cz].
Multiplatformní open source aplikace pro psaní poznámek Joplin (Wikipedie) byla vydána v nové verzi 3.6. Nově lze mít v poznámkách embedovaný externí obsah, např. YouTube videa.
Open Hardware Summit 2026 organizovaný OSHWA (Open Source Hardware Association) proběhne o víkendu 23. a 24. května v Berlíně na Technické univerzitě Berlín.
Navigace se soukromím CoMaps postavena nad OpenStreetMap byla vydána v nové verzi 2026.05.06. Přibyla možnost aktualizovat mapy v aplikaci CoMaps, aniž by bylo nutné aktualizovat i verzi aplikace. CoMaps je komunitní fork aplikace Organic Maps.
OCCT3D (Open CASCADE Technology) Open Source 8.0 bylo vydáno. OCCT3D (Wikipedie, GitHub) je objektově orientovaná knihovna pro 3D CAD, CAM nebo CAE. Používá se například v softwarech FreeCAD a KiCad.
Ve FreeBSD byla nalezena a již opravena 21letá zranitelnost CVE-2026-42511 v dhclient. Jedná se o vzdálené spuštění kódu (RCE). Útočník mající pod správou DHCP server může získat plnou kontrolu nad systémem FreeBSD pouze jeho připojením k místní síti.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.3. Současně oznámila, že nadcházející větší vydání 24.04-2.0 bude mít modernější webový prohlížeč.
pokud neupresnite zadani dotazu (dalsi podrobnosti, zverejneni kodu...), do te doby se neda rozumne odpovedet
predpokladam, ze kod prilis dlouhy nebude - kdyz jsem sveho casu delal neco podobneho (jak klient, tak server) tak jsem se vesel radove do 8kB se serverem a asi 3kB klient (jen uloz stranku na disk)
jinak mne napada... zkousel jste komunikaci i s necim jinym? (jiny web server+Vas klient a vas server+jiny klient)? a podivat se primo na tu komunikaci... treba tcpdumpem
int main(){
int server_sock, client_sock;
int server_len, client_len;
struct sockaddr_in server_addr;
struct sockaddr_in client_addr;
char request[]="HTTP/1.0 200 OK\n\n"
"[html]
"[head]"
"[title]Download[/title]"
"[/head]"
"[body]"
"[table border=\"1\" cellpadding=\"6\" cellspacing=\"0\"]"
"[tr height=\"210\"]"
"[td width=\"210\" rowspan=\"2\"][img src=\"/home/honza/download/pinguin.png\" width=\"210\" height=\"210\" border=\"0\" name=\"Pinguin\"][/td]"
"[td width=\"500\"]"
"[p]zde stahujte..[a href=\"/home/honza/download/obrazek.png\" name=\"Pinguin\"]Pinguin[/a][/p]"
"[/td]"
"[/tr]"
"[/table]"
"[/body]"
"[/html]";
char answer[2000];
int received, sent;
int i=0,c;
FILE *input;
if((server_sock=socket(AF_INET, SOCK_STREAM, 0))==-1)
err_mess("Server soket nebyl spravne vytvoren!");
server_addr.sin_family=AF_INET;
server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
server_addr.sin_port=htons(80); // 80 - http server => nutna prava roota!!!
server_len=sizeof(server_addr);
if((bind(server_sock, (struct sockaddr*) &server_addr, server_len))==-1)
err_mess("Adress not given (bind)");
if((listen(server_sock, 5))==-1) // 5 - delka fronty pozadavku na spojeni
err_mess("(listen)");
while(1){
printf("server waiting..\n");
client_len=sizeof(client_addr);
if((client_sock=accept(server_sock, (struct sockaddr*) &client_addr, &client_len))==-1)
err_mess("Connection not accepted!");
if((received=recv(client_sock, answer, sizeof(answer), 0))==-1)
err_mess("Cannot receive data!");
if((sent=send(client_sock, request, sizeof(request), 0))==-1)
err_mess("Data not sent!");
close(client_sock);
}
close(server_sock);
return (0);
}
posilate VZDY jen Vasi predpripravenou odpoved, bez ohledu na to, co po Vasem serveru chce klient
_uplne minimalni_ reseni je nacist a rozparsovat aspon prvni radek hlavicky (ve tvaru GET /dir1/dir2/soubor.xyz HTTP/1.0)
tim aspon zjistite, CO VLASTNE klient chce (nacist data, ulozit data..; a pak nazev souboru); a odpovedet podle toho. (aspon podporuju/nepodporuju metodu, nenalezl soubor, nalezl soubor, je tahle velky a posilam ho...) - sice to neodpovida RFC, ale jen pro pokusne odeslani souboru to staci.
jako odpoved jsem pro (podle mne platny) pozadavek posilal aspon:
HTTP/1.1 200 OK Server: (nejaky string) Accept-Ranges: bytes Content-Length: (delkasouboru) Connection: close Content-Type: (mime_typ) (a obsah vlastniho souboru)
ikdyz uznavam, sam jsem si take napsal svoji implementaci. a nakonec pouzivam jako server apache a na stahovani wget a curl
Accept-Ranges: bytesTo bych neposílal, tahle implementace nevypadá, že by uměla posílat na vyžádání části souborů
Podle me je to spatna logika. Html server je udelanej tak, ze posila klientovi soubory s tim, ze pres http protokol indikuje jaky. V praxi se to pouziva tak, ze kdyz zadas nejakou stranku, tak prohlizec ji stahne (tj posle serveru prikaz neco jako GET sss.com/stranka.html a ten posle zpatky odpoved Content type: html + nejake dalsi udaje + samotny textovy soubor se strankou) a analyzuje, v pripade ze na te strance nejsou odkazy tak neudela nic dalsiho, pokud tam najde odkazy (a,img,...) tak je postupne stahuje tim, stejnym zpusobem (posle serveru GET sss.com/obr.png a ten posle zpatky Content type: data (?) + delku atd + samotny obrazek) a az to klient obdrzi, tak ten obrazek zobrazi.
HTTP Made Really Easy
Tiskni
Sdílej: