Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Vývoj / Re:Bind socketu na konkrétní síťovou kartu v C
« Poslední příspěvek od František Ryšánek kdy Dnes v 23:17:27 »
vypnout globálně rp_filter ?
2
Hardware / Re:Upgrade PC nebo to nemá smysl?
« Poslední příspěvek od alex6bbc kdy Dnes v 22:24:02 »
nejlepsi je prodat cely stroj a novy slozit.
ale jinak je to zbytecne ted cokoliv meni, jen bych pridal ram.
3
Hardware / Re:Tlačítkový telefon v dnešní době?
« Poslední příspěvek od Tonda kdy Dnes v 22:24:00 »
Taky jsem chtěl napsat něco s KaiOS, ale když jsem hledal co konkrétně, tak jsem narazil na hodně reakcí, že je to špatný, pomalu reagující. EU verze jsou hůř osazené než US verze. Taky jsem narazil na Unihertz Titan, což už je něco jiného, ale taky už je to poněkud zastaralá záležitost.
4
Vývoj / Bind socketu na konkrétní síťovou kartu v C
« Poslední příspěvek od Jan Novotný kdy Dnes v 22:05:00 »
Dobrý den,
prosím, potřebuji poradit, jak správně použít bind socketu na konkrétní síťovou kartu v linuxu.
Jde o tento případ: Linux se 3 síťovkami, default gateway je směrem za síťovkou 1. Adresa serveru 192.168.1.55.
Klientské síťovky 192.168.1.51, 192.168.1.52, 192.168.1.53.
Klient ve výchozím stavu odesílá / přijímá data v pořádku přes síťovku 1.
Odesílat / přijímat potřebuji přes síťovku 3 (enp0s8).
Musím tedy použít  bind to device.
setsockopt(udpSocket, SOL_SOCKET, SO_BINDTODEVICE, localEthDeviceName
Pokud nabinduji socket na enp0s8, je vidět v tcpdump, že klient data odešle přes síťovku 3 a také přijímá přes síťovku 3, ale nastává problém, že recvfrom() nezíská ze socketu žádná data a tedy odpověď do aplikace nedorazí.
Nevíte, čím to může být, proč recvfrom v případě bindu na síťovku žádná data nedostane?
Jak bych měl bind správně použít?

Kód jednoduchého UDP klienta přikládám níže.
Děkuju moc za radu.

Kód: [Vybrat]
#include <iostream>
#include <string>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <fstream>
#include <sstream>
#include <cerrno>


using namespace std;

int main(int argc, char** argv) {

#define MAXBUF 1024

int udpSocket, returnStatus, addrlen;
struct sockaddr_in udpClient, udpServer;
char buf[MAXBUF];
string message = getSendMessage();
string localEthDeviceName = "enp0s8";


/* create a socket */
if ((udpSocket = socket(AF_INET, SOCK_DGRAM, 0)) == -1){
fprintf(stderr, "Could not create a socket!\n");
return(1);
}else{
printf("Socket created.\n");
}

if (setsockopt(udpSocket, SOL_SOCKET, SO_BINDTODEVICE, localEthDeviceName.c_str(), static_cast<socklen_t>(strlen(localEthDeviceName.c_str()))) == -1) {
    close(udpSocket);
    return 1;
}

/* client address */
string localIp = "192.168.1.51";
udpClient.sin_family = AF_INET;
udpClient.sin_addr.s_addr = inet_addr(localIp.c_str());
udpClient.sin_port = htons(5065);
returnStatus = bind(udpSocket, (struct sockaddr*)&udpClient, sizeof(udpClient));
if (returnStatus == 0) {
fprintf(stderr, "Bind completed!\n");
}
else {
fprintf(stderr, "Could not bind to address!\n");
close(udpSocket);
return(1);
}


/* server address */
string serverIp = "192.168.1.55";
udpServer.sin_family = AF_INET;
udpServer.sin_addr.s_addr = inet_addr(serverIp.c_str());
udpServer.sin_port = htons(5060);

returnStatus = static_cast<int>(sendto(udpSocket, message.c_str(), strlen(message.c_str()) + 1, 0, (struct sockaddr*)&udpServer, sizeof(udpServer)));
if (returnStatus == -1) {
fprintf(stderr, "Could not send message!\n");
}
else {
/* message sent: look for confirmation */
addrlen = sizeof(udpServer);
returnStatus = static_cast<int>(recvfrom(udpSocket, buf, MAXBUF, 0, (struct sockaddr*)&udpServer, reinterpret_cast<socklen_t*>(& addrlen)));
if (returnStatus <= 0) {
fprintf(stderr, "Didn't get any response: %s\n", strerror(errno));
}
else {
buf[returnStatus] = 0;
printf("Received: %s\n", buf);
}
}

return 0;
}
5
Server / Re:Kto poskytuje VPS v najviac datovych centrach po svete?
« Poslední příspěvek od petrcze01 kdy Dnes v 21:15:55 »
Vultr?
6
Server / Re:Kto poskytuje VPS v najviac datovych centrach po svete?
« Poslední příspěvek od hknmtt kdy Dnes v 17:46:01 »
DO je sialene drahy(dnes tpyicke pre vsetky americke hostingy). Zatial viem len o pq.hosting a contabo.
7
Hardware / Re:Upgrade PC nebo to nemá smysl?
« Poslední příspěvek od CPU kdy Dnes v 17:41:42 »
Teď jsem koupil 32GB DDR4 3200/dualrank za 1000 Kč (2x16).
Proč? Protože za litr.

To by mi přišlo jako super upgrade.
Co s tou starou ramkou? Prodat.

GPU? Třeba 3070 TIka za 5k :-D
8
Hardware / Re:Upgrade PC nebo to nemá smysl?
« Poslední příspěvek od JanBenicek kdy Dnes v 17:41:23 »
jelikož si myslím že zdroj by to již nedal

S uváděným CPU bych se až tak nebál, že by to zdroj s 7800XT nedal. (pochybuji že GK půjde přes 300W a ten CPU taky nežere až tolik, navíc prakticky nikdy nebudeš mít plnou zátěž na GPU i CPU najednou)
Obvykle dávám do PC zdroj slabší než je doporučeno u GK a vždy mi to vychází, když v plné zátěži měřím spotřebu na zásuvce, tak bývám v klidu. (Aktuálně mám Ryzen 7950X s RTX 4070 a v plné zátěži obou komponent na zásuvce nejdu přes 500W, přičemž mi pár lidí pravilo že to bude běžně žrát přes 500W)

Ve výsledku bych tam osobně hodil tu GK a fungoval dál. CPU bych nevyměňoval pokud bych nechtěl jít do aktuální generace.
9
Hardware / Re:Upgrade PC nebo to nemá smysl?
« Poslední příspěvek od František Ryšánek kdy Dnes v 17:33:06 »
Podle mého kouzlo X3D nespočívá primárně v multithread zátěži (ačkoli ta průchodnost se v multithreadu jistě podepíše - viz dále). Mimochodem oba procesory mají stejný počet jader a vláken. Při porovnání 5700X3D vs. 5700G se míchají dvě věci: X3D je níž taktovaný, ale zato má 96 MB L3 cache. Géčko má "jenom" 24 MB L3 cache, zato vyšší základní takt i max turbo (a míň žere).
Našel jsem na TomsHardware obrázek, jak vypadají na obou procesorech latence L3 asi podle velikosti "pracovní sady" nebo co. Pozor, osa X je logaritmická (o základu 2). V tom okénku mezi oběma křivkami je rozdíl v latencích přístupu k datům zhruba o řád (12 vs. 100 ns). Taky ta L3 cache bude mít vyšší hrubou průchodnost než DRAM: X3D má mít 2 TBps, dva kanály DDR4 3200 dávají asi 51 GBps. Pokud je Váš workload omezený latencemi a průchodností přístupu k paměti, a trefí se do toho sladkého rozpětí mezi 24 a 96 MB (nejlépe těsně pod 96 MB), naměříte veliký rozdíl výkonu ve prospěch X3D. V opačném případě naměříte rozdíl ve prospěch CPU s vyšším taktem. Mimochodem tyhle dva procesory jsou zřejmě sweet spot taky v latencích mezi jádry navzájem (asi 18-20 ns, každé jádro s každým). Což je užitečné zase pro jiný specifický workload...
10
Server / Re:Kto poskytuje VPS v najviac datovych centrach po svete?
« Poslední příspěvek od bmn kdy Dnes v 17:32:54 »
Když jsem před pár lety potřeboval levně zajistit dobré pokrytí po celém světe, tak mi vyšel nejlepší DigitalOcean.
Stran: [1] 2 3 ... 10