X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=socket.tex;h=331535298fa9dcd4bf5057ffc229de2dac39e481;hp=4adb5c74187d37833a3b910e92ba69d8c182ee2d;hb=bf66d833fbcd76d007d1d748217b2cea773d4a39;hpb=e3486c2f4be542fc94f55f972174baae2ce18921 diff --git a/socket.tex b/socket.tex index 4adb5c7..3315352 100644 --- a/socket.tex +++ b/socket.tex @@ -732,12 +732,11 @@ cos \label{sec:sock_addr_func} In questa sezione tratteremo delle varie funzioni usate per manipolare gli -indirizzi, limitandoci però agli indirizzi internet. - -Come accennato gli indirizzi e i numeri di porta usati nella rete devono -essere forniti in formato opportuno (il \textit{network order}). Per capire -cosa significa tutto ciò occorre introdurre un concetto generale che tornerà -utile anche in seguito. +indirizzi, limitandoci però agli indirizzi internet. Come accennato gli +indirizzi e i numeri di porta usati nella rete devono essere forniti in +formato opportuno (il \textit{network order}). Per capire cosa significa tutto +ciò occorre introdurre un concetto generale che tornerà utile anche in +seguito. \subsection{La \textit{endianess}\index{endianess}} @@ -762,7 +761,7 @@ parte dal bit meno significativo \begin{figure}[htb] \centering - \includegraphics[height=5cm]{img/endianess} + \includegraphics[height=3cm]{img/endianess} \caption{Schema della disposizione dei dati in memoria a seconda della \textit{endianess}\index{endianess}.} \label{fig:sock_endianess} @@ -788,15 +787,11 @@ questi cambiamenti. Il problema connesso all'endianess\index{endianess} è che quando si passano dei dati da un tipo di architettura all'altra i dati vengono interpretati in maniera diversa, e ad esempio nel caso dell'intero a 16 bit ci si ritroverà -con i due byte in cui è suddiviso scambiati di posto, e ne sarà quindi -invertito l'ordine di lettura per cui, per riavere il valore originale, -dovranno essere rovesciati. - -Per questo motivo si usano delle funzioni di conversione che servono a tener -conto automaticamente della possibile differenza fra l'ordinamento usato sul -computer e quello che viene usato nelle trasmissione sulla rete; queste -funzioni sono \funcd{htonl}, \funcd{htons}, \funcd{ntohl} e \funcd{ntohs} ed i -rispettivi prototipi sono: +con i due byte in cui è suddiviso scambiati di posto. Per questo motivo si +usano delle funzioni di conversione che servono a tener conto automaticamente +della possibile differenza fra l'ordinamento usato sul computer e quello che +viene usato nelle trasmissione sulla rete; queste funzioni sono \funcd{htonl}, +\funcd{htons}, \funcd{ntohl} e \funcd{ntohs} ed i rispettivi prototipi sono: \begin{functions} \headdecl{netinet/in.h} \funcdecl{unsigned long int htonl(unsigned long int hostlong)}