© Amir Kirsh Java Networking Written by Amir Kirsh, Edited by Liron Blecher.

Post on 17-Dec-2015

218 views 5 download

Transcript of © Amir Kirsh Java Networking Written by Amir Kirsh, Edited by Liron Blecher.

Age

nda

• Downloading a web page

• TCP Client

• TCP Server

• What’s beyond

3

Downloading a web page

public static void main (String args[]) {

String line;try {

URL u = new URL(args[0]);

DataInputStream htmlPage =new DataInputStream(u.openStream());

while ((line = htmlPage.readLine()) != null) { System.out.println(line);

}}catch (Exception e) {

System.err.println(e); // naive treatment}

}

4

Dealing with URL encoding

public static void main (String args[]) {

String line;try {

URL u = new URL(URLEncoder.encode(

args[0], Charset.forName("UTF-8") ) );

DataInputStream htmlPage =new DataInputStream(u.openStream());

while ((line = htmlPage.readLine()) != null) { System.out.println(line);

}}catch (Exception e) {

System.err.println(e); // naive treatment}

}

Age

nda

• Downloading a web page

• TCP Client

• TCP Server

• What’s beyond

6

Simple TCP Echo Client

String line = "";

try (Socket socket = new Socket("localhost", 7000)) {

BufferedReader inputStream = new BufferedReader(new InputStreamReader(socket.getInputStream()));

PrintStream outputStream = new PrintStream(socket.getOutputStream());

BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));

while (!line.equals("!")) {

line = userInput.readLine();

outputStream.println(line);

System.out.println(inputStream.readLine());

}

}

7

Simple TCP Echo Client – cont’

public static void main(String[] args) {

try {…

} catch (Exception e) {

System.err.println(e);}

}

Age

nda

• Downloading a web page

• TCP Client

• TCP Server

• What’s beyond

9

Simple TCP Echo Server

String line = "";

try (ServerSocket server = new ServerSocket(7000)) {

Socket socket = server.accept(); // blockingBufferedReader inputStream = new BufferedReader(new

InputStreamReader(socket.getInputStream()));

PrintStream outputStream = new PrintStream(socket.getOutputStream());

while (!line.equals("!")) {

line = inputStream.readLine();

outputStream.println(line);

System.out.println(line);

}

}

10

Simple TCP Echo Server – cont’

public static void main(String[] args) {

try {…

} catch (Exception e) {

System.err.println(e);}

}

DEMO

examples.streams.simple

11

Age

nda

• Downloading a web page

• TCP Client

• TCP Server

• What’s beyond

13

What’s beyond

- UDPjava.net.DatagramSocket

- Multicastjava.net.MulticastSocket

- Selector and Channels (and nio in general)java.nio.channels

- Servlets (and JSP)

- Web Services

- RMI; EJB

DEMO

examples.streams.advanced

14