Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come creare codice di pacchetti IP in C Programmazione TCP /

Creazione di un pacchetto TCP /IP è importante quando si desidera che il programma C per fare una connessione attiva con un host remoto per inviare i dati avanti e indietro . TCP /IP è un protocollo di rete che fornisce la consegna affidabile e ordinata di pacchetti tra due host . Il mondo del web , e-mail e file di applicazioni di trasferimento di larghe tutte utilizzano il protocollo TCP /IP . Creazione di un pacchetto TCP /IP attraverso la raccolta di dati su un host, fare una presa di fuori di tali dati e poi inviare il socket all'host remoto . Istruzioni
1

Aprire il file C in un editor come VC + + .
2

Aggiungi la libreria Winsock di impostazioni di progetto del compilatore in modo che possa collegare correttamente . In VC + + questo viene fatto clic sul menu "Progetto" , cliccando su "Impostazioni ... ", cliccando su " Link" e digitando " ws2_32.lib " nella casella intitolata "Moduli Oggetto /libreria. " Altri nomi possibili per la libreria Winsock comprendono " winsock32.lib " e " wsock32.lib . "
3

Includere il " Winsock2 " e intestazioni " ws3tcpip " per accedere alle funzioni di presa con l'aggiunta di il seguente codice nella parte superiore del file :

# include

# include
4

dichiarare la variabili necessarie per creare un pacchetto TCP /IP aggiungendo il seguente codice nella funzione :

struct sentori addrinfo , * res ;

int socket_descriptor ;

" addrinfo " le strutture potranno memorizzare il valore di ritorno della funzione " getaddrinfo " . Il " socket_descriptor " è il descrittore intero che la funzione di "presa" tornerà
5

inizializzare le variabili aggiungendo il seguente codice : .

Memset ( & suggerimenti, 0 , sizeof sentori ) ;

hints.ai_family = AF_UNSPEC ;

hints.ai_socktype = SOCK_STREAM ;

il valore " AF_UNSPEC " specifica che la famiglia di indirizzi per la funzione " getaddrinfo " può essere qualsiasi tipo valido, come IPv4 o IPv6 . Il " SOCK_STREAM " indica una presa di flusso TCP
6

richiamare la funzione " getaddrinfo " aggiungendo il seguente codice: .

Getaddrinfo ( " www.server.com " , " 3490 ", e suggerimenti, e rES);

sostituire" www.server.com " con il server che si desidera connettersi . Sostituire " 3490 " con la porta che si sarà connettersi. La funzione " getaddrinfo " raccoglie indipendente dal protocollo informazioni su un indirizzo dal suo nome host , che restituisce nelle struct " addrinfo " .
7

creare un socket TCP /IP con la funzione di " presa" , aggiungendo il seguente codice :

socket_descriptor = socket ( res - > ai_family , res - > ai_socktype , res - > ai_protocol ) ;

la funzione di "presa" utilizza le informazioni restituito dalla funzione " getaddrinfo " per creare una presa completa
8

connettersi al server remoto con la funzione "connect" , aggiungendo il seguente codice: .

connect ( socket_descriptor , res - > ai_addr , res - > ai_addrlen ) ;

la funzione "connect" prende la presa , lo invia all'indirizzo specificato e crea una connessione attiva con l'host
9 .

Salvare il file , compilare ed eseguire il programma per creare il pacchetto TCP /IP .

 

Programmazione © www.354353.com