Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-07-2007, 20:59   #1
raziel_king
Member
 
L'Avatar di raziel_king
 
Iscritto dal: Jan 2007
Città: Roma
Messaggi: 45
Socket ipv4-ipv6

Buonasera a tutti chiedo lumi su una spinosa questione ...Stiamo lavorando ad un progetto in C per il quale è richiesto che client e server effettuino una connessione tcp indipendente dal protocollo di livello network (ipv4 o ipv6). La soluzione che abbiamo implementato funziona perfettamente con ipv4 ma con ipv6 abbiamo 2 problemi:
1- con l'indirizzo di loopback (::1)otteniamo l'errore 10061 connection refused
2- con qualsiasi altro indirizzo ipv6 otteniamo l'errore 10065 host unreachable

Questo è il codice che abbiamo scritto
CLIENT
Codice:
SOCKET s = INVALID_SOCKET;

	char aport[0x40];
	sprintf(aport, "%d", port);

	struct addrinfo hints, *info;
	memset(&hints, 0, sizeof(struct addrinfo));
	hints.ai_family = AF_UNSPEC;
	hints.ai_socktype = SOCK_STREAM;

	if (getaddrinfo(host, aport, &hints, &info)) {
		PRINT("unknown host: %s\n", host);
		TRACE("1 %d\n", WSAGetLastError());
		sock_exit();
		return -1;
	}

	for (struct addrinfo *ai = info; ai; ai = ai->ai_next) {
		ASSERT(ai->ai_socktype == SOCK_STREAM);

		s = socket(ai->ai_family, SOCK_STREAM, ai->ai_protocol);
		if (s == INVALID_SOCKET) {
			continue;
		}

		if (connect(s, ai->ai_addr, ai->ai_addrlen) == SOCKET_ERROR) {
			VERIFY(!closesocket(s));
			s = INVALID_SOCKET;
			continue;
		}
	}
	freeaddrinfo(info);

	if (s == INVALID_SOCKET) {
		PRINT("unknown host: %s\n", host);
		TRACE("2 %d\n", WSAGetLastError());
		sock_exit();
		return -1;
	}

	printf("connected to %s\n", host);
SERVER
Codice:
SOCKET lstn_create() {
	struct addrinfo hints, *info;
	memset(&hints, 0, sizeof(struct addrinfo));
	hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
	hints.ai_family = AF_UNSPEC;
	hints.ai_socktype = SOCK_STREAM;

	char port[0x40];
	sprintf(port, "%d", tcpport);

	if (getaddrinfo(NULL, port, &hints, &info)) {
		return INVALID_SOCKET;
	}

	SOCKET listener = INVALID_SOCKET;
	for (struct addrinfo *ai = info; ai; ai = ai->ai_next) {
		ASSERT(ai->ai_socktype == SOCK_STREAM);

		listener = socket(ai->ai_family, SOCK_STREAM, ai->ai_protocol);
		if (listener == INVALID_SOCKET) {
			continue;
		}

		if (bind(listener, ai->ai_addr, ai->ai_addrlen)) {
			VERIFY(!closesocket(listener));
			listener = INVALID_SOCKET;
			continue;
		}
	}
	freeaddrinfo(info);

	if (listener == INVALID_SOCKET) {
		TRACE("no suitable network interface\n");
		return INVALID_SOCKET;
	}

	if (listen(listener, SOMAXCONN) == SOCKET_ERROR) {
#ifdef __WIN32
		if (WSAGetLastError() == WSAEADDRINUSE) {
#else // __WIN32
		if (errno == EADDRINUSE) {
#endif // __WIN32
			PRINT("another process is listening on port %d\n", tcpport);
		}

		VERIFY(!closesocket(listener));
		return INVALID_SOCKET;
	}

	return listener;
}
Grazie spero possiate darci una mano
raziel_king è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
Addio alle faccende domestiche? Il robot...
Fallito il primo lancio del razzo spazia...
Addio Bitcoin: in Algeria anche il solo ...
Amazon si inventa gli sconti al check-ou...
NVIDIA H20 torna in Cina? Non è d...
Addio fatica col tagliaerba: i robot sma...
Arm: ricavi di nuovo oltre il miliardo d...
Viaggi a 200 km/h sotto Nashville? Ecco ...
Gran ritorno con doppio sconto: 25,99€ p...
Huawei punta sull'accumulo energetico gr...
HyperOS 3 di Xiaomi: arriva con Android ...
Amazfit sempre più scontati: scen...
Norme e IA migliorano la postura di sicu...
Robot aspirapolvere Narwal ai minimi sto...
Incentivi per l'acquisto di auto elettri...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:29.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v