P2P: Skirtumas tarp puslapio versijų
Ištrintas turinys Pridėtas turinys
S robotas Pridedama: eo, gl |
|||
Eilutė 51:
=="Sveikas, pasauli!" pavyzdys==
Žemiau pateikta labai paprasta [Java] programa įgalina bet kurį Interneto jungtį turintį kompiuterį teikti informaciją kitiems kompiuteriams be jokių tarpinių grandžių. Toks "anarchistinis serveris" pasiekiamas bet kuria naršykle, tačiau (priklausomai nuo tinklo nuostatų) naujai įjungiant kompiuterį jo adresas gali ir keistis.
import java.io.*;
import java.net.*;
public class Pavyzdys
{
public static void main(String[] args)
{
String musu_adresas = null;
final int portas = 1200; // Ši konstanta nurodo, kurio porto mūsų serveris
// klausys. Jei šis portas užimtas, jį pakeiskite.
ServerSocket serveris = null;
System.out.println("Kviečiame apsilankyti adresu:");
musu_adresas = "http://" + InetAddress.getLocalHost().getHostAddress() + ":"▼
System.out.println(
catch (Exception ex)
▲ + InetAddress.getLocalHost().getHostAddress() + ":"
System.out.println(
while (true)▼
Socket socket = serveris.accept();▼
▲ while (true)
String atsakymas = "Sveikas, anarchistinis pasauli!";▼
OutputStream out = socket.getOutputStream();
// Rašome standartines HTTP antraštes naršyklei:▼
▲ Socket socket = serveris.accept();
StringBuffer atsakymo_buferis = new StringBuffer();▼
▲ String atsakymas = "Sveikas, anarchistinis pasauli!";
▲ // Rašome standartines HTTP antraštes naršyklei:
atsakymo_buferis.append("Content-Type: text/plain; charset=UTF-8\r\n");
▲ StringBuffer atsakymo_buferis = new StringBuffer();
atsakymo_buferis.append("
// Rašome atsakymą:
▲ atsakymo_buferis.append("Content-Length: " + ilgis + "\r\n");
atsakymo_buferis.append(
out.write(atsakymo_buferis.
}
}▼
▲}
Paleista programa atspausdina adresą, kurio ji yra pasiekiama. Apsilankius šiuo adresu, naršyklei pateikiamas tekstas ''Sveikas, anarchistinis pasauli!''. Tekstas matomas kaip ir bet kuris kitas tinklalapis.
Sudėtingesnėse (realiai naudojamose) P2P sistemose naudojama ne standartinė naršyklė, o "anarchistinis klientas", kuris kartu yra ir serveris. Tokios sistemos (stalo žaidimas) [http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/classpath/classpath/examples/gnu/classpath/examples/CORBA/swing/README.html?rev=HEAD&content-type=text/html aprašymas anglų kalba].
==Nuorodos==
|