|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2007
Messaggi: 40
|
[C++] Internet
Conosciete un modo per interfacciarmi ad internet con il C++???
|
![]() |
![]() |
![]() |
#2 |
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! |
![]() |
![]() |
![]() |
#3 |
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.
|
![]() |
![]() |
![]() |
#4 |
Bannato
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. |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Nov 2007
Messaggi: 40
|
Funziona anche su DevC++?
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
Sistema operativo? Compilatore? |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Se non hai bisogno di altro, puoi guardare questa libreria: http://curl.haxx.se/libcurl/
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
![]() |
![]() |
![]() |
#8 |
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.
|
![]() |
![]() |
![]() |
#9 | ||
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
Quote:
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. |
||
![]() |
![]() |
![]() |
#10 |
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??
|
![]() |
![]() |
![]() |
#11 |
Bannato
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. |
![]() |
![]() |
![]() |
#12 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#13 | |
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:
Ultima modifica di Karlosoft : 08-12-2007 alle 13:29. |
|
![]() |
![]() |
![]() |
#14 |
Bannato
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).
|
![]() |
![]() |
![]() |
#15 |
Member
Iscritto dal: Nov 2007
Messaggi: 40
|
Ritiro tutto ho sistemato il problema!
|
![]() |
![]() |
![]() |
#16 |
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??? |
![]() |
![]() |
![]() |
#17 |
Bannato
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.
|
![]() |
![]() |
![]() |
#18 |
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?
|
![]() |
![]() |
![]() |
#19 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
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).
|
![]() |
![]() |
![]() |
#20 |
Member
Iscritto dal: Nov 2007
Messaggi: 40
|
Quindi devo scrivere una roba del tipo
Codice PHP:
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:47.