Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 31

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Linux AX25-HOWTO, Amateur Radio.: Programmazione di rete per AX.25, NetRom e Rose.</TITLE>
<LINK HREF="AX25-HOWTO-22.html" REL=next>
<LINK HREF="AX25-HOWTO-20.html" REL=previous>
<LINK HREF="AX25-HOWTO.html#toc21" REL=contents>
</HEAD>
<BODY>
<A HREF="AX25-HOWTO-22.html">Avanti</A>
<A HREF="AX25-HOWTO-20.html">Indietro</A>
<A HREF="AX25-HOWTO.html#toc21">Indice</A>
<HR>
<H2><A NAME="s21">21. Programmazione di rete per AX.25, NetRom e Rose.</A></H2>

<P>Il vantaggio pi&ugrave; grande nell'usare un'implementazione dei protocolli
packet per radioamatori &egrave; probabilmente la facilit&agrave; con cui si
possono sviluppare applicazioni e programmi che li sfruttino.
<P>Sebbene la programmazione di applicativi di rete in Unix vada al di
l&agrave; degli scopi di questo documento, si descriveranno gli elementi
essenziali per utilizzare i protocolli AX.25, NetRom e Rose
all'interno dei vostri programmi.
<P>
<H2><A NAME="ss21.1">21.1 Le famiglie degli indirizzi.</A>
</H2>

<P>La programmazione di rete per AX.25, NetRom e Rose &egrave;, in Linux,
piuttosto simile a quella per TCP/IP, visto che la differenza
maggiore sta nelle diverse famiglie di indirizzi.
<P>I nomi delle famiglie degli indirizzi per AX.25, NetRom e Rose sono
rispettivamente <CODE>AF_AX25</CODE>,
<CODE>AF_NETROM</CODE> e <CODE>AF_ROSE</CODE>.
<P>
<H2><A NAME="ss21.2">21.2 I file header.</A>
</H2>

<P>Occorre sempre includere i file header `<CODE>ax25.h</CODE>', nonch&egrave;
`<CODE>netrom.h</CODE>' o `<CODE>rose.h</CODE>' se avete a che fare con questi
protocolli. Le impostazioni iniziali saranno simili alle seguenti:
<P>Per AX.25:
<BLOCKQUOTE><CODE>
<PRE>
#include &lt;ax25.h>
int s, addrlen = sizeof(struct full_sockaddr_ax25);
struct full_sockaddr_ax25 sockaddr;
sockaddr.fsa_ax25.sax25_family = AF_AX25
</PRE>
</CODE></BLOCKQUOTE>
<P>Per NetRom:
<BLOCKQUOTE><CODE>
<PRE>
#include &lt;ax25.h>
#include &lt;netrom.h>
int s, addrlen = sizeof(struct full_sockaddr_ax25);
struct full_sockaddr_ax25 sockaddr;
sockaddr.fsa_ax25.sax25_family = AF_NETROM;
</PRE>
</CODE></BLOCKQUOTE>
<P>Per Rose:
<BLOCKQUOTE><CODE>
<PRE>
#include &lt;ax25.h>
#include &lt;rose.h>
int s, addrlen = sizeof(struct sockaddr_rose);
struct sockaddr_rose sockaddr;
sockaddr.srose_family = AF_ROSE;
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="ss21.3">21.3 Trattamento dei nominativi ed esempi.</A>
</H2>

<P>Nella libreria <CODE>lib/ax25.a</CODE> delle AX.25-utilities vi sono
routine che effettuano la conversione e il trattamento dei
nominativi, anche se naturalmente potete scriverne di vostre.
<P>Le utility <EM>user_call</EM> sono eccellenti esempi su cui
impostare il vostro lavoro; spendendoci su un po' di tempo si
comprende come il novanta percento del lavoro consiste nel riuscire
ad aprire il socket. Per la verit&agrave; effettuare la connessione &egrave;
semplice, &egrave; la preparazione che richiede tempo.
<P>Gli esempi sono semplici a sufficienza da non creare confusione. In
caso di dubbi &egrave; buona cosa rivolgerli alla mailing list
<CODE>linux-hams</CODE>, dove senz'altro ci sar&agrave; qualcuno che vi dar&agrave; una
mano.
<P>
<HR>
<A HREF="AX25-HOWTO-22.html">Avanti</A>
<A HREF="AX25-HOWTO-20.html">Indietro</A>
<A HREF="AX25-HOWTO.html#toc21">Indice</A>
</BODY>
</HTML>