Amazon Web Services (AWS) oznámil (en) výstavbu Fastnetu – strategického transatlantického optického kabelu, který propojí americký stát Maryland s irským hrabstvím Cork a zajistí rychlý a spolehlivý přenos cloudových služeb a AI přes Atlantik. Fastnet je odpovědí na rostoucí poptávku po rychlém a spolehlivém přenosu dat mezi kontinenty. Systém byl navržen s ohledem na rostoucí provoz související s rozvojem umělé inteligence a
… více »Evropská komise zkoumá možnosti, jak přinutit členské státy Evropské unie, aby ze svých telekomunikačních sítí postupně vyloučily čínské dodavatele Huawei a ZTE. Místopředsedkyně EK Henna Virkkunenová chce změnit doporučení nepoužívat rizikové dodavatele při budování mobilních sítí z roku 2020 v právně závazný požadavek.
sudo-rs, tj. sudo a su přepsané do programovacího jazyka Rust, již obsaženo v Ubuntu 25.10, bylo vydáno ve verzi 0.2.10. Opraveny jsou 2 bezpečnostní chyby.
Kaspersky pro Linux je nově k dispozici také pro domácí uživatele.
Společnost Avalonia UI oznámila, že pracuje na .NET MAUI pro Linux a webový prohlížeč. Vyzkoušet lze demo v prohlížeči. Když bude backend stabilní, bude vydán jako open source pod licencí MIT.
Byl vydán Mozilla Firefox 145.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Ukončena byla podpora 32bitového Firefoxu pro Linux. Přidána byla podpora Matrosky. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 145 bude brzy k dispozici také na Flathubu a Snapcraftu.
Lidé.cz (Wikipedie) jsou zpět jako sociální síť s "ambicí stát se místem pro kultivované debaty a bezpečným online prostředím".
Byla vydána nová verze 4.4 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
ASUS má v nabídce komplexní řešení pro vývoj a nasazení AI: kompaktní stolní AI superpočítač ASUS Ascent GX10 poháněný superčipem NVIDIA GB10 Grace Blackwell a platformou NVIDIA DGX Spark. S operačním systémem NVIDIA DGX založeném na Ubuntu.
Desktopové prostredie Trinity Desktop vyšlo vo verzii R14.1.5. Je tu opravená chyba v tqt komponente spôsobujúca 100% vyťaženie cpu, dlaždice pre viac monitorov a nemenej dôležité su dizajnové zmeny v podobe ikon, pozadí atď. Pridaná bola podpora distribúcií Debian Trixie, Ubuntu Questing, RHEL 10 a OpenSUSE Leap 16.
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: