Torna indietro   Hardware Upgrade Forum > Software > Programmazione

iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile
C'è tanta sostanza nel nuovo smartphone della Mela dedicato ai creator digitali. Nuovo telaio in alluminio, sistema di raffreddamento vapor chamber e tre fotocamere da 48 megapixel: non è un semplice smartphone, ma uno studio di produzione digitale on-the-go
Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-12-2007, 13:26   #1
Karlosoft
Member
 
Iscritto dal: Nov 2007
Messaggi: 40
[C++] Internet

Conosciete un modo per interfacciarmi ad internet con il C++???
Karlosoft è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2007, 13:28   #2
Xidius
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 3484
spiegati meglio, vorresti sapere quali sarebbero le librerie utili?
__________________
Ho trattato nel mercatino con tante persone....
Ovviamente tutte soddisfatte!
Xidius è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2007, 13:30   #3
Karlosoft
Member
 
Iscritto dal: Nov 2007
Messaggi: 40
Devo sapere quali librerie, e possibilmente sapere dove trovarne una documentazione, usare per connettermi ad un server e ricevere una risposta, inviarvi dati.
Karlosoft è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2007, 14:09   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
devi usare i socket; si tratta di un'interfaccia di programmazione che esiste quasi identica sia su Windows che su molti derivati di Unix, tra cui ovviamente Linux.
su Windows oltre all'interfaccia originale dei socket esistono anche delle funzioni aggiuntive, ed il tutto prende il nome di Windows Sockets 2 (2 perché prima c'era la versione 1 che faceva più schifo).
qua c'è tutto: http://msdn2.microsoft.com/en-us/library/ms740673.aspx

in sostanza un socket è una capability (quindi un file descriptor su Unix e un HANDLE su Windows) che, per così dire, mappa le sue operazioni di I/O su una connessione di rete, connessione che può essere ad esempio una connessione TCP/IP su una determinata porta.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2007, 14:20   #5
Karlosoft
Member
 
Iscritto dal: Nov 2007
Messaggi: 40
Funziona anche su DevC++?
Karlosoft è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2007, 14:55   #6
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
usare per connettermi ad un server e ricevere una risposta
A quale tipo di server vuoi connetterti? HTTP? FTP? SMTP/POP3? Altro?

Sistema operativo? Compilatore?
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2007, 15:44   #7
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Se non hai bisogno di altro, puoi guardare questa libreria: http://curl.haxx.se/libcurl/
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2007, 19:38   #8
Karlosoft
Member
 
Iscritto dal: Nov 2007
Messaggi: 40
Os WIndows (ma se possibile esportabili anche se linux altrimenti è uguale), compilatore minGW, installato su ide Dev-C++. La possibilità di usare connessioni di vari tipi è alettante.
Karlosoft è offline   Rispondi citando il messaggio o parte di esso
Old 07-12-2007, 19:52   #9
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Karlosoft Guarda i messaggi
Os WIndows (ma se possibile esportabili anche se linux altrimenti è uguale), compilatore minGW, installato su ide Dev-C++.
per programmare codice sorgente C/C++ che usi i sockets e che sia compilabile sia su Windows che su Linux serve qualche piccola accortezza ed inevitabilmente qualche #ifdef. la differenza più evidente tra la programmazione dei socket tra Windows e Linux è l'inizializzazione: su Windows devi inizializzare la libreria Winsock chiamando la funzione WSAStartup (e finalizzare con WSACleanup), mentre su Linux non è necessario. altra differenza sostanziale è il tipo dei file descriptors: i sockets su Linux sono dei semplici int, mentre su Windows il tipo si chiama SOCKET (è sufficiente che su Linux aggiungi un #define SOCKET int). per il resto dovrebbe essere tutto uguale, tranne ovviamente il fatto che devi evitare di utilizzare funzioni specifiche di Winsock.

Quote:
La possibilità di usare connessioni di vari tipi è alettante.
ergo credo proprio che i socket facciano al caso tuo. quando si dice che un socket può essere utilizzato per stabilire una connessione si parla molto in astratto: anche se l'uso più comune è tramite TCP/IP, un socket può essere utilizzato potenzialmente una connessione di qualunque tipo (anche tra processi diversi sulla stessa macchina, e non parlo necessariamente di loopback di TCP/IP). determinate funzioni infatti permettono di scegliere il protocollo sia di livello transport che di livello network, è quindi possibile inviare dati sia via TCP che via UDP, e sia via IPv4 che IPv6.
non so di preciso come funzioni su Linux, ma su Windows è addirittura possibile implementare nuovi protocolli.

Ultima modifica di 71104 : 07-12-2007 alle 19:55.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2007, 12:00   #10
Karlosoft
Member
 
Iscritto dal: Nov 2007
Messaggi: 40
Mi rimane un piccolo dubbio. Cosa devo fare, scaricarle??? E in caso contrario c'è un dll o una cartella con gli header da includere??
Karlosoft è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2007, 12:47   #11
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
la DLL che ti interfaccia coi Windows Sockets 2 si chiama ws2_32.dll ed è già fornita con qualsiasi installazione di Windows (si trova in system32).

ora vai nella cartella di installazione del MinGW, sottocartella lib: troverai un file libws2_32.a da passare in input al linker affinché esso generi un eseguibile che usi ws2_32.dll. non è necessario che specifichi manualmente la libws2_32, dovrebbe essere tra quelle specificate automaticamente (che includono tutte quelle necessarie a linkarti alle API Win32).

se vai invece nella sottocartella include della cartella di installazione del MinGW troverai l'header winsock2.h che devi includere per programmare coi sockets.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2007, 12:48   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da 71104 Guarda i messaggi
la DLL che ti interfaccia coi Windows Sockets 2 si chiama ws2_32.dll ed è già fornita con qualsiasi installazione di Windows (si trova in system32).

ora vai nella cartella di installazione del MinGW, sottocartella lib: troverai un file libws2_32.a da passare in input al linker affinché esso generi un eseguibile che usi ws2_32.dll. non è necessario che specifichi manualmente la libws2_32, dovrebbe essere tra quelle specificate automaticamente (che includono tutte quelle necessarie a linkarti alle API Win32).

se vai invece nella sottocartella include della cartella di installazione del MinGW troverai l'header winsock2.h che devi includere per programmare coi sockets.
te la faccio breve: includi winsock2.h e comincia a programmare
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2007, 13:00   #13
Karlosoft
Member
 
Iscritto dal: Nov 2007
Messaggi: 40
Grazie, ora ci sono!!! Si è come avevi dettu tu, libws2_32.a non c'è bisogno di includerlo.
A questo punto per iniziare a programmare devo trovare una guida. Conoscete qualche titolo? 71104 mi ha segnalato le referenze su MSDN, ma le referenze non spiagano come fare purtroppo...

Provando ad eseguire un pezzo di codice ho visto che non funziona... L'ho preso dalle referenze microsoft, ma non va. (in realtà era un pezzo di codice, mancava la definizione di main e degli include)

Quote:
#include <cstdlib>
#include <iostream>
#include <winsock2.h>

using namespace std;

int main(int argc, char *argv[])
{
WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD( 2, 2 );

err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return 1;
}


if ( LOBYTE( wsaData.wVersion ) != 2 ||
HIBYTE( wsaData.wVersion ) != 2 ) {

WSACleanup( );
return 1;
}
return 0;
}

Ultima modifica di Karlosoft : 08-12-2007 alle 13:29.
Karlosoft è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2007, 13:44   #14
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
perché non va, scusa? che problemi ti da? tieni presente che quello è un programma che non fa nulla, o meglio, non fa altro che inizializzare la libreria (WSAStartup) e poi la richiude subito (WSACleanup).
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2007, 13:44   #15
Karlosoft
Member
 
Iscritto dal: Nov 2007
Messaggi: 40
Ritiro tutto ho sistemato il problema!
Karlosoft è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2007, 17:27   #16
Karlosoft
Member
 
Iscritto dal: Nov 2007
Messaggi: 40
Una piccola cosa che non ho capito, per mandare dati e riceverli devo usare recv e send o cos'altro? In caso siano questi due, ci sono due parametri

#define DEFAULT_BUFLEN 512
#define DEFAULT_PORT "27015"

Cosa rappresentano i due define? In particolare, nel secondo, deve essere sostituito con 8080???
Karlosoft è offline   Rispondi citando il messaggio o parte di esso
Old 08-12-2007, 20:57   #17
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
si, per mandare e ricevere dati via socket TCP/IP si usano generalmente send e recv. i due define non riguardano l'interfaccia dei socket, devi averli trovati in qualche esempio; uno sembra essere la dimensione di un buffer di invio o di ricezione, l'altro è chiaramente un numero di porta.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2007, 13:45   #18
Karlosoft
Member
 
Iscritto dal: Nov 2007
Messaggi: 40
Ok. Mi sono accorto di una cosa. Se provo a collegarmi al mio indirizzo su altervista, mi richiama l'indirizzo ip di altervista. COme è possibile??? COme faccio ad interfacciarmi con il mio soto?
Karlosoft è offline   Rispondi citando il messaggio o parte di esso
Old 09-12-2007, 20:48   #19
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da Karlosoft Guarda i messaggi
Ok. Mi sono accorto di una cosa. Se provo a collegarmi al mio indirizzo su altervista, mi richiama l'indirizzo ip di altervista. COme è possibile??? COme faccio ad interfacciarmi con il mio soto?
non è che ogni sito che esiste su internet stia sulla sua propria macchina eh... connettiti al server di Altervista e fai la richiesta HTTP per il tuo sito (non ricordo la sintassi esatta, comunque è una richiesta GET).
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 10-12-2007, 11:28   #20
Karlosoft
Member
 
Iscritto dal: Nov 2007
Messaggi: 40
Quindi devo scrivere una roba del tipo

Codice PHP:
GET /index.php HTTP/1.1
Host
karlosoft.altervista.org 
E settare come indirizzo ip quello di altervista???
Karlosoft è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
Alcune partite NBA saranno trasmesse in ...
Intel Core 13000 e 14000 aumentano uffic...
Gemini sta per arrivare in Google Maps: ...
2 minuti per vedere le 27 offerte imperd...
Ray-Ban Meta Display: tecnologia sorpren...
Un mini PC a prezzo stracciato, non cerc...
Al via i coupon nascosti di ottobre: qua...
Ferrari Elettrica si aggiorna solo in of...
Doppio sconto sugli smartphone top Xiaom...
Samsung è sempre più prota...
ChatGPT ha pregiudizi politici? Ecco cos...
Un solo iPhone rubato ha portato alla sc...
Xiaomi 17 Ultra sta arrivando: ecco come...
Il Motorola Edge 70 non ha più se...
Alcuni Galaxy S26 utilizzeranno il chip ...
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:47.


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