1. Trang chủ
  2. » Công Nghệ Thông Tin

Giả lập dịch vụ phản hồi thông tin bằng pipe

3 116 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 99,81 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giả lập dịch vụ phản hồithông tin bằng Pipe Bởi: unknown Giả lập dịch vụ phản hồi thông tin bằng Pipe Phần kế tiếp ta xây dựng một ứng dụng có tên là PipeEcho mô phỏng dịch vụ phản hồi t

Trang 1

Giả lập dịch vụ phản hồi

thông tin bằng Pipe

Bởi:

unknown

Giả lập dịch vụ phản hồi thông tin bằng Pipe

Phần kế tiếp ta xây dựng một ứng dụng có tên là PipeEcho mô phỏng dịch vụ phản hồi thông tin để minh họa cách sử dụng Pipe làm phương tiện giao tiếp giữa các Thread trong một ứng dụng

Mô hình ứng dụng PipeEcho

Trong ứng dụng này Client và Server là hai Thread thuộc lớp PipedEchoClient và PipedEchoServer Việc trao đổi thông tin giữa client và server được thực hiện thông qua

2 Pipe (cwPipe-srPipe) và (swPipe-crPipe)

PipedEchoClient nhận các ký tự từ bàn phím, gởi chúng sang PipedEchoServer và chờ nhận các ký tự gởi về từ PipedEchoServer để in ra màn hình PipedEchoServer chờ nhận từng ký tự từ PipedEchoClient, đổi ký tự nhận được thành ký tự hoa và gởi ngược về

Trang 2

Lớp PipedEchoServer

Hãy lưu chương trình sau vào tập tin PipedEchoServer.java

import java.io.*; public class PipedEchoServer extends Thread { PipedInputStream readPipe; PipedOutputStream writePipe; PipedEchoServer(PipedInputStream readPipe, PipedOutputStream writePipe){ this.readPipe = readPipe; this.writePipe = writePipe; System.out.println("Server is starting "); start();

readPipe.read(); ch = Character.toUpperCase((char)ch);

writePipe.write(ch); } catch (IOException ie) { System.out.println("Echo Server Error: "+ie ); } } } }

Lớp PipedEchoClient

Hãy lưu chương trình sau vào tập tin PipedEchoClient.java

import java.io.*; public class PipedEchoClient extends Thread { PipedInputStream readPipe; PipedOutputStream writePipe; PipedEchoClient(PipedInputStream readPipe, PipedOutputStream writePipe){ this.readPipe = readPipe;

this.writePipe = writePipe; System.out.println("Client creation"); start(); } public void run(){ while(true) { try { int ch=System.in.read();

System.out.print((char)ch); } catch(IOException ie){

System.out.println("Echo Client Error: "+ie ); } } } }

Lớp PipedEcho

Hãy lưu chương trình sau vào tập tin PipedEcho.java

import java.io.*; public class PipedEcho { public static void main(String argv[]){ try{ PipedOutputStream cwPipe = new PipedOutputStream();

PipedInputStream crPipe = new PipedInputStream(); PipedOutputStream swPipe = new PipedOutputStream(crPipe); PipedInputStream srPipe = new

PipedEchoClient(crPipe,cwPipe); } catch(IOException ie) {

System.out.println("Pipe Echo Error:"+ie); } } }

Biên dịch và thực thi chương trình

Biên dịch và thực thi chương trình theo cách sau:

Trang 3

Kết quả biên dịch chương tình PipedEcho.java

Nhập vào bàn phím chuỗi ký tự mà bạn muốn rồi nhấp phím Enter Bạn sẽ thấy chuỗi

ký tự in hoa của chuỗi vừa nhập xuất hiện trên màn hình

Ngày đăng: 30/12/2015, 16:42

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w