Byla oznámena beta verze nového video kodeku Pyrowave pro streamování her v Steam Remote Play. S vysokou propustností a nízkou latencí. S podporou HDR a YUV 4:4:4.
Byl vydán Sublime Text 4 Build 4213. Sublime Text (Wikipedie) je proprietární multiplatformní editor textových souborů a zdrojových kódů. Ke stažení a k vyzkoušení je zdarma. Pro další používání je nutná licence v ceně 99 dolarů. Spolu se Sublime Merge je cena 168 dolarů.
Firma Anthropic, tvůrce AI modelu Claude, začala v oblasti Sanfranciského zálivu v tichosti provozovat vlastní biotechnologickou laboratoř. Anthropic prý chce pomocí AI urychlit hledání léků na nemoci, jimž farmaceutický průmysl dle názoru firmy věnuje příliš málo pozornosti. Firma tvrdí, že laboratoř se zatím soustředí především na základní biologii, nikoli přímo na vývoj léčiv. Farmaceutický výzkum je pro generálního ředitele Daria Amodeie velice osobní téma, jeho otec zemřel na hepatitidu C několik málo let před objevením účinné léčby.
Vědci z Googlu dokončili mapu všech neuronových spojení v mozku (tzv. konektom) samečka mušky octomilky obecné (drosophila melanogaster), hlavním cílem je komparativní analýza s již zmapovaným mozkem samičky. S tímto veřejně dostupným modelem, čítajícím přibližně 160 000 neuronů, se začali bavit nadšenci. Mozek mouchy pohání experimentálního kryptoburzovního bota Stonkfly, případně si zahrál počítačové hry Beat Saber, Mario64 a samozřejmě DOOM (gameplay videa). Ani mozek samičky nezůstal stranou, vyzkoušel si Minecraft.
Alibaba Cloud je dalším sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let. Stejná částka jako u DigitalOcean.
Byla vydána nová verze 262 správce systému a služeb systemd (Wikipedie, GitHub).
Canonical oznámil vydání Zephyr 26.04 LTS. Jedná se o komerční distribuci operačního systému pro mikrokontroléry Zephyr (Wikipedie) s podporou až 15 let.
Gravity Linux je linuxová distribuce určená pro Apple Silicon s čipy M4 a novějšími. Vydána byla alfa verze pro M4 Mac mini. Gravity Linux je fork Asahi Linuxu.
Hister je osobní soukromý vyhledávač, který lze provozovat na vlastním stroji. Umí prohledávat lokální soubory, importovat historii a záložky z webových prohlížečů, procházet vybrané weby a pomocí rozšíření pro Firefox a Chrome indexovat obsah právě navštívených stránek. Nad vytvořeným indexem pak nabízí vyhledávání prostřednictvím webového rozhraní, příkazové řádky a díky podpoře MCP i nástrojům umělé inteligence. Tento
… více »Ministerstvo dopravy uznalo prozatímní schválení asistenčního systému Tesla FSD Supervised vydané nizozemským schvalovacím orgánem RDW. Připojilo se tak k Nizozemsku a dalším pěti evropským státům. Systém je díky tomuto rozhodnutí možné používat za podmínek prozatímního schválení také na území České republiky. Tesla FSD Supervised je asistenčním systémem úrovně 2 podle klasifikace SAE (částečná automatizace řízení). Řidič se
… více »
int main( int argn, char **arg )
{
int port = atoi( arg[ 1 ] );
int sock_listen = socket( AF_INET, SOCK_STREAM, 0 );
in_addr addr_any = { INADDR_ANY };
sockaddr_in srv_addr;
srv_addr.sin_family = AF_INET;
srv_addr.sin_port = htons( port );
srv_addr.sin_addr = addr_any;
// set socket options to reuse address and port again in short time
int opt = 1;
setsockopt( sock_listen, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof( opt ) );
// assign address and port to socket
bind( sock_listen, (const sockaddr * ) &srv_addr, sizeof( srv_addr ) );
listen( sock_listen, 1 );
int sock_client = 0;
// go!
while ( 1 )
{
char buf[ 100 ];
fd_set read_wait_set;
// set all bits to zero
FD_ZERO( &read_wait_set );
// wait for stdin
FD_SET( STDIN_FILENO, &read_wait_set );
// select listen or client socket
if ( sock_client )
FD_SET( sock_client, &read_wait_set );
else
FD_SET( sock_listen, &read_wait_set );
// wait for selected handles
if ( select( MAX( sock_client, sock_listen ) + 1,
&read_wait_set, 0, 0, 0 ) < 0 ) break;
// data on stdin?
if ( FD_ISSET( STDIN_FILENO, &read_wait_set ) )
{
// read data from stdin
int l = read( STDIN_FILENO, buf, sizeof( buf ) );
if ( l < 0 )
printf( "Unable to read data from stdin." );
else
printf( "Got %d bytes from stdin.", l );
// send data to client
l = write( sock_client, buf, l );
if ( l < 0 )
printf( "Unable send data to client." );
else
printf( "Sent %d bytes to client.", l );
}
// new connection form client?
else if ( FD_ISSET( sock_listen, &read_wait_set ) )
{
sockaddr_in rsa;
int rsa_size = sizeof( rsa );
// accept connection from client
sock_client = accept( sock_listen, ( sockaddr * ) &rsa, ( socklen_t * ) &rsa_size );
uint lsa = sizeof( srv_addr );
// get my identification
getsockname( sock_client, ( sockaddr * ) &srv_addr, &lsa );
// get client info
getpeername( sock_client, ( sockaddr * ) &srv_addr, &lsa );
printf( "Peer name: '%s' port: %d",
inet_ntoa( srv_addr.sin_addr ), ntohs( srv_addr.sin_port ) );
printf( "Enter 'quit' to quit server." );
}
// data from client?
else if ( FD_ISSET( sock_client, &read_wait_set ) )
{
// read data from socket
int l = read( sock_client, buf, sizeof( buf ) );
if ( !l )
{
printf( "Client close socket." );
close( sock_client );
sock_client = 0;
break;
}
else if ( l < 0 )
printf( "Unable to read data from socket." );
else
printf( "Read %d bytes from socket.", l );
// send all data to stdout
l = write( STDOUT_FILENO, buf, l );
// check, if client ask to close connection
if ( !strncasecmp( buf, "close", 5 ) )
{
printf( "Client sent 'close' request, connection closed." );
printf( "Now wait for new client." );
close( sock_client );
sock_client = 0;
}
}
// quit request from server or client
if ( !strncasecmp( buf, "quit", 4 ) )
{
close( sock_client );
printf( "Quit request entered... exiting now...\n" );
break;
}
}
close( sock_listen );
return 0;
}
Je to socket server. Prijima pripojeni od klientu a vypise do konzole zpravu, kterou klient napise. Ja bych prave potreboval aby server prijimal spojeni od nekolika klientu najednou a kdyz nejaky klient neco napise, server to vypise do konzole a kdyz neco napise server, vypisou to na svou konzoli vsichni klienti.
Zatim jsem jen prisel na to, ze musim vlozit radek "int pid = fork()" do kodu za funkci accept() a nechat otcovsky proces at vyrizuje pripojeni a nechat potomka at dela zbytek, ale stale se mi to nedari!
Mohli byste mi poradit? Byl bych vdecny za jakoukoliv pomoc.
Predem diky.
Tiskni
Sdílej: