content


top.tipText = new Array(); var isLayers = 0; var isAll = 0; var isID = 0; function init() { if (document.getElementById) { isID = 1; } else if (document.all) { isAll = 1; } else { isLayers = 1; } if (isLayers == 1) { var tipArray; } else { top.frames['tip_frame'].document.open(); top.frames['tip_frame'].document.write(""); top.frames['tip_frame'].document.close(); } } function findDOM(objectID,withStyle) { if (withStyle == 1) { if (isID) { return (document.getElementById(objectID).style); } else if (isAll) { return (document.all[objectID].style); } else { return (document.layers[objectID]); } } else { if (isID) { return (document.getElementById(objectID)); } else if (isAll) { return (document.all[objectID]); } else { return (document.layers[objectID]); } } } function getWidth() { if (window.innerWidth != null) { return window.innerWidth; } else if (document.body.clientWidth != null) { return document.body.clientWidth; } return (null); } function showTip(evt,framename,objectID) { dm = findDOM(objectID,0); ds = findDOM(objectID,1); setText(dm, framename); var width = getWidth(); if (dm.offsetWidth) { objWidth = dm.offsetWidth; } else if (dm.clip.width) { objWidth = dm.clip.width; } if (evt.y || evt.pageY) { if (evt.pageY) { topVisibility = evt.pageY + 20; leftVisibility = evt.pageX - (objWidth/4); } else { topVisibility = evt.y + 20 + document.body.scrollTop; leftVisibility = evt.x - (objWidth/4) + document.body.scrollLeft; } if (leftVisibility < 2) { leftVisibility = 2; } else if (leftVisibility + objWidth > width) { leftVisibility -= objWidth/2; } ds.left = leftVisibility; ds.top = topVisibility; } ds.visibility = "visible"; } function hideTip(objectID) { ds = findDOM(objectID,1); visibility = ds.visibility; ds.visibility = "hidden"; } function setText(dm,framename) { var tmpArray; var frameFound = false; for (var i=0; i=4) this.ns4 = (this.b=="ns" && this.v==4) this.ns5 = (this.b=="ns" && this.v==5) this.ie = (this.b=="ie" && this.v>=4) this.ie4 = (navigator.userAgent.indexOf('MSIE 4')>0) this.ie5 = (navigator.appVersion.indexOf('MSIE 5.0')>0) this.ie55 = (navigator.appVersion.indexOf('MSIE 5.5')>0) if (this.ie5) this.v = 5 this.min = (this.ns||this.ie) } // automatically create the "is" object is = new BrowserCheck() if (document.getElementById || document.all) { document.write(""); } else { document.write(""); } document.write(abs_rlo_pos) Przegląd portów warstwy transportowej document.write(abs_rio_pos); Porty przeznaczone dla klientów Na tej stronie omówiono porty źródłowe ustawiane przez klientów. Za każdym razem, gdy klient łączy się z usługą na serwerze, musi podać port źródłowy lub docelowy. Segmenty TCP i UDP zawierają pola, w których określa się te parametry. Porty docelowe, czyli porty przeznaczone dla usług, definiuje się w oparciu o dobrze znane porty. Porty źródłowe ustawiane przez klientów są określane dynamicznie. Ogólnie rzecz biorąc, klient określa port źródłowy, wybierając losowo liczbę większą od 1023. Na przykład klient, który próbuje skomunikować się z serwerem WWW, użyje protokołu TCP i przypisze port docelowy 80 i port źródłowy 1045. Kiedy pakiet dotrze do serwera, przechodzi przez warstwę transportową aż do usługi HTTP, która działa na porcie 80. Serwer odpowie na żądanie klienta segmentem, w którym jako port źródłowy podana będzie wartość 80, a jako port docelowy " 1045. Klienci i serwery używają portów do rozróżnienia, do których procesów jest przypisany dany segment. Na następnej stronie opisano trzy kategorie numerów portów. Łącza WWW

Wyszukiwarka

Podobne podstrony:
content
content
content
content
content
content
content
content
content
function domnode get content
content
content
content
content
content
content

więcej podobnych podstron