Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Star Wars Zero Company è l'erede di XCOM 2
Star Wars Zero Company è l'erede di XCOM 2
Bit Reactor porta nell’universo di Star Wars una struttura tattica che richiama apertamente XCOM 2, ma la arricchisce con legami tra i personaggi, progressione ruolistica, gestione della base e un sistema di combattimento costruito attorno a tre Punti Azione e alle risorse condivise della squadra
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
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


Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
SwitchBot Lock Ultra a 179,99€ con Prime...
Il nuovo Kindle di Amazon si mostra in i...
Narwal Fall Prime Day, robot e scope ele...
gpt-oss-120b gira su un Galaxy S24+ e ci...
Gli agenti IA di OpenAI hanno tentato di...
ElevenLabs v4 e v4 Turbo: bastano 10 sec...
Autonomous CRM: meno tempo passato ad al...
Benzina e gasolio, Q8 segue Eni e IP: pr...
15.000 euro per un'auto elettrica europe...
EVGA e NVIDIA: un ex dipendente racconta...
Consegne delle CPU server fino a 30 sett...
Google Foto, grave bug blocca modifica e...
Apple aggiornerà il suo iPad: chi...
God of War Laufey svela il Serpent Bow d...
Amazon sconta centinaia dei suoi disposi...
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: 10:50.


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