Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Un client semplice..ma non normale. HELP
Forum - C/C++ - Un client semplice..ma non normale. HELP

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
marco81 (Normal User)
Newbie


Messaggi: 5
Iscritto: 10/07/2008

Segnala al moderatore
Postato alle 13:09
Giovedì, 10/07/2008
Salve a tutti sono alle prime armi con la programmazione delle socket.
Ho visto che qui ci sono molti esperti..che sicuramente sapranno risolvere il mio problema.

In pratica devo realizzare un client (o meglio due client uno che usa TCP e l'altro che usa UDP) che invia una pacchetto ad un Server in ascolto (ad esempio invia la scritta "CIAO")..

E fin qui ci dovrei riuscire..
il problema è che nel mio client deve essere specificabile oltre all'indirizzo IP di destinazione e la PORTA di destinazione anche LA PORTA SORGENTE!

Come si fa a specificare in un client (UDP e TCP) la porta sorgente ??????

Ho letto che si utilizza la funzione BIND anche nel CLIENT prima della CONNECT ma non ho capito come usare la BIND..Potreste postarmi qualche esempio di codice..

Ho fatto un pò di ricerche..ho trovati tanti esempi di client ma in nessuno veniva specificata la PORTA SORGENTE..

GRAZIE ANTICIPATAMENTE A TUTTI COLORO CHE AVRANNO LA PAZIENZA DI AIUTARMI.

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 13:30
Giovedì, 10/07/2008
C'è qualcosa che mi sfugge... cosa intendi per "specificare la porta sorgente"?


Il mio blog: https://piero.dev
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 13:34
Giovedì, 10/07/2008
La cosa importante che non hai detto e' il "perche'" ti serva una cosa del genere.

Infatti, la porta sorgente e' ininfluente ai fini della comunicazione (TCP o UDP che sia) tanto che e' il sistema stesso a sceglierne una random tra le disponibili nel client.

Quindi ... perche' ti serve?

PM Quote
Avatar
marco81 (Normal User)
Newbie


Messaggi: 5
Iscritto: 10/07/2008

Segnala al moderatore
Postato alle 14:50
Giovedì, 10/07/2008
Testo quotato

Postato originariamente da pierotofy:
... cosa intendi per "specificare la porta sorgente"?


intendo che quando si vorrà lanciare il client, si dovrà poter usare un comando del genere:

./client <porta sorgente> <indirizzo IP> <porta destinazione>

quindi la porta sorgente dovrà, in questo senso, essere specificabile dall'utente.


Testo quotato

Postato originariamente da gantonio:

La cosa importante che non hai detto e' il "perche'" ti serva una cosa del genere.

Infatti, la porta sorgente e' ininfluente ai fini della comunicazione (TCP o UDP che sia) tanto che e' il sistema stesso a sceglierne una random tra le disponibili nel client.

Quindi ... perche' ti serve?



Questa è una bella domanda..ho capito benissimo che la porta sorgente non serve a nulla specificarla (proprio perchè viene asseganta dal sist operativo)... ma con questo clientino devo estendere le funzionalità di un softwere già esistente (che usano nella mia università)..e questa funzionaltà prevede proprio l'invio di un pacchetto ad un server, il cui pacchetto ha la porta sorgente che è stata specificata dall'utente!

(..il perchè l'utente debba avere l'esigenza di dover specificare la porta sorgente..questo lo chiederò al mio prof..)

8-|

Ultima modifica effettuata da marco81 il 10/07/2008 alle 14:51
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 15:09
Giovedì, 10/07/2008
Ma te lo ha dato come "compito" ?

In ogni caso, quando glielo chiedi, diccelo ...

PM Quote
Avatar
marco81 (Normal User)
Newbie


Messaggi: 5
Iscritto: 10/07/2008

Segnala al moderatore
Postato alle 15:40
Giovedì, 10/07/2008
Testo quotato

Postato originariamente da gantonio:

In ogni caso, quando glielo chiedi, diccelo ...



cmq glielo chiedo..ma credo che il motivo sia che ci sono casi in cui un client vuole assicurarsi uno specifico indirizzo di PORTA poiché è solo attraverso di essa che può essere raggiunto da un server al quale aveva in precedenza inoltrato una richiesta.

Quindi con questo clientino si dà la possiilità di utilizzare una porta specifica e non una qualisiasi..


In ogni caso avete suggerimenti su come si usa la bind in questa situazione...

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 23:41
Giovedì, 10/07/2008
La bind la usi come per il server ... cosa hai scritto per il server?

PM Quote
Avatar
marco81 (Normal User)
Newbie


Messaggi: 5
Iscritto: 10/07/2008

Segnala al moderatore
Postato alle 11:45
Venerdì, 11/07/2008
Testo quotato

Postato originariamente da gantonio:

La bind la usi come per il server ... cosa hai scritto per il server?



Nn ho fatto nessun server..mi potresti dare qualche indicazione pratica..

Magari se hai un client già fatto che invia pacchetti..potresti cortesemente inserirgli una bind..e magari postarmi qui il codice..

sai sono alle primissime armi con questa programmazione delle socket..per il momento sto solo leggendo a che servono le varie chiamate Socket, bind, listen, connect, ecc..

Ultima modifica effettuata da marco81 il 11/07/2008 alle 11:47
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 14:04
Venerdì, 11/07/2008
Sei alle primissime armi e all'universita' ti hanno dato da fare questo lavoro ...?

Parliamoci chiaro o non ci parliamo piu' ... non mi piacciono certi discorsi ...

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo