Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).
Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.
Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.
I letos vyšla řada ajťáckých adventních kalendářů: Advent of Code 2025, Perl Advent Calendar 2025, CSS Advent Calendar 2025, Advent of A11Y 2025, Advent of AI Security 2025, Advent of Agents (in Google) 2025, Advent of Svelte 2025, …
Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.
Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.
Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.
Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).
Zdravím.
mám třídu (Odesilatel), která má simulovat přístroj - posílá data po UDP na danou ip po daném portu - konkrétním na 127.0.0.1:2023
Druhá (Prijemce) třída přijímá data po UDP na danym portu (odkukoliv), zpracuje je (udělá z nich floaty) a uloží do bufferu.
Pokud je simulátor puštěnej z jinýho programu než příjemce, vše funguje. Pokud jsou puštěny z jednoho, tak se přijme jen 92 packetů, pak jich to 260 přeskočí (+- 20, tehnle počet se mění, ale 92 jich to přijme vždy a 93 už je posunutej) a pak to zase přijímá normálně - další stovky packetů (nebo to občas začne zase přeskakovat).
Odesilatel a příjemce jsou ve vlastních threadech. Wireshark říká, že odesilatel odešle data správně, při krokování je vidět, že příjemce je už v int size = read(socketDesc, data, 65535); dostane přeskonečené. Trápim se s tim celý den a nemam ponětí, co dělám špatně.
Pokud nepošlu 981bytů, ale míň, tak to funguje normálně (asi by to začlo přeskakovat někde dál), takže předpokldám, že se něco někam nevejde, ale nemůžu přijít na to co/kam. Vidíte v tom někdo nějakou botu?
Projemce p;
Odesilatel o;
o.start();
p.startReadData();
while(1){
if(m.dataLength() > 0){
Data<float> d = p.getData();
for(int y = 0;y<d.length();y++)
fprintf(outF,"%f;%f\n",...);//vypis dat do souboru
}
}
Prijemce:
Prijemce::Prijemce(){
socketDesc = socket( AF_INET, SOCK_DGRAM, IPPROTO_UDP );
sockaddr_in serverSock;
serverSock.sin_family = AF_INET;
serverSock.sin_addr.s_addr = htonl(INADDR_ANY);
serverSock.sin_port = htons(2023);
bind( socketDesc, (const sockaddr*) &serverSock, sizeof(serverSock) );
}
void Prijemce::startReadData(){
th = new std::thread(&MeterUDP::readPackets,this);
}
Data<float> Prijemce:getData(){
mutex.lock();
Data<float> ret = dataBuffer;
dataBuffer.clear();
mutex.unlock();
return ret;
}
void Prijemce::readPackets(){
ByteArray *bA;
while(1){
fd_set fds;
timeval tv;
FD_ZERO(&fds);
FD_SET(socketDesc, &fds);
tv.tv_sec = 1;
tv.tv_usec = 0;
u8 data[65535];
int test = 0;
int ret = select(socketDesc+1, &fds, NULL, NULL, &tv);
if(ret == 1){
int size = read(socketDesc, data, 65535);
Bytes b;
b.insert(b.end(),data,data+size);
bA = new ByteArray(b);
}
}
Data<float> dataBuffer = kouzla(bA);//konertuje ByteArray do pouzitelnyho formatu
}
Odesilatel:
Odesilatel::Odesilatel(){
sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
bzero(&serv_addr, sizeof(serv_addr));
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(2023);
net_aton("127.0.0.1", &serv_addr.sin_addr)
}
void Odesilatel::start(){
th = new std::thread(&Odesilatel::sendData,this);
}
void Odesilatel::sendData(){
while(1){
u8 packet[981];
for(int i = 0;i<981;i++)
packet[i] = data;//tady naplnim data (ze souboru, ale to neni podstatny)
sendto(sockfd, packet, 981, 0, (struct sockaddr*)&serv_addr, slen);
}
}
Řešení dotazu:
Tiskni
Sdílej: