Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Bazar / Re:Koupím MicroServer Gen8(7) - staci CASE
« Poslední příspěvek od RDa kdy Dnes v 01:31:13 »
Tak s  quixxmichal jsme se na cene nedohodli, tak stale poptavam, kdyby se nahodou nekomu doma valel microserver, nebo klidne jen CASE. DIky

G7 s vadnou deskou kde je N36L tusim. Kolik nabizis?
2
Vývoj / Re:Bind socketu na konkrétní síťovou kartu v C
« Poslední příspěvek od Radek Zajíc kdy Dnes v 00:10:34 »
Podle tech IP jsou vsechny tri sitovky v jednom subnetu...? Neuvadite tedy masku site, ale i tak.
A ty pakety vam na sitovku 3 prichazeji? Co rika tcpdump?
3
Vývoj / Re:Bind socketu na konkrétní síťovou kartu v C
« Poslední příspěvek od František Ryšánek kdy 06. 11. 2024, 23:17:27 »
vypnout globálně rp_filter ?
4
Hardware / Re:Upgrade PC nebo to nemá smysl?
« Poslední příspěvek od alex6bbc kdy 06. 11. 2024, 22:24:02 »
nejlepsi je prodat cely stroj a novy slozit.
ale jinak je to zbytecne ted cokoliv meni, jen bych pridal ram.
5
Hardware / Re:Tlačítkový telefon v dnešní době?
« Poslední příspěvek od Tonda kdy 06. 11. 2024, 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.
6
Vývoj / Bind socketu na konkrétní síťovou kartu v C
« Poslední příspěvek od Jan Novotný kdy 06. 11. 2024, 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;
}
7
Server / Re:Kto poskytuje VPS v najviac datovych centrach po svete?
« Poslední příspěvek od petrcze01 kdy 06. 11. 2024, 21:15:55 »
Vultr?
8
Server / Re:Kto poskytuje VPS v najviac datovych centrach po svete?
« Poslední příspěvek od hknmtt kdy 06. 11. 2024, 17:46:01 »
DO je sialene drahy(dnes tpyicke pre vsetky americke hostingy). Zatial viem len o pq.hosting a contabo.
9
Hardware / Re:Upgrade PC nebo to nemá smysl?
« Poslední příspěvek od CPU kdy 06. 11. 2024, 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
10
Hardware / Re:Upgrade PC nebo to nemá smysl?
« Poslední příspěvek od JanBenicek kdy 06. 11. 2024, 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.
Stran: [1] 2 3 ... 10