Kết nối với Internet

Một phần của tài liệu Chatting program (Trang 74 - 76)

Ta có thể kết nối vào Internet thông qua dịch vụ của nhà cung cấp (còn gọi là ISP nh FPT, Cnet,..) bằng đờng đờng thoại thông qua modem. Các nhà dịch vụ này đóng vai trò nh những máy chủ (server)giúp dễ dàng truy cập dữ liệu từ những vùng khác nhau trên mạng

6.2.Trang WEB

Một khi đã tham gia vào Internet, thông tin từ Internet có thể đợc lấy về bằng nhiều hình thức khác nhau, chỉ cần cho biết địa chỉ của máy chủ (nơi mà ta muốn truy cập thông tin) và loại yêu cầu mà máy chủ cần phải thực hiện nếu thoả mãn máy chủ sẽ cung cấp ngay những thông tin cần thiết Chơng trình này đợc biết đến nh là trình duyệt (browser), điển hình có Internet Explorer của Microsoft, Netscape Navigator của công ty Netscape Communication, HotJava của Sun Microsystem, nó có nhiệm vụ phân tích, gửi đi những yêu cầu của từ phía ngời dùng đến máy chủ sau đó nhận lại, trình bày kết quả trả về từ phía máy chủ cho ngời dùng.

Một chuỗi yêu cầu nh trên đợc gọi là chuỗi định vị tài nguyên URL (Unifomrm Resource Locator)

Khi đánh vào

http://www.companv.com/doc.htm

Chuỗi URLnày sẽ đợc trình duyệt tách làm ba phần :

1.Phần yêu cầu (phần nghi thức) : http là loại yêu cầu ,cụ thể ở đây ta muốn máy chủ gửi về một tài liệu đợc định dạng theo kiểu HTML (hypertext markup laguage) còn đợc gọi là trang Web hay Web page

2.Phần địa chỉ :www.company.com là địa chỉ của máy chủ.

3. Phần bổ sung:doc.htm là tên của tập tin tài liệu mà ta muốn lấy về xem (còn đợc gọi là trang Web)

Nếu dịch vụ đòi hỏi phải chỉ định số cổng (port) kết nối thì chuỗi URL có thể đợc định vị thêm một thành phần mang giá trị port.Ví dụ

http://www.company.com:80/doc.htm

hoặc

c:\Learning>java Addrlookupapp127.0.0.1 Host name :my.testing.server

IP address: 127 .0 .0 .1

6.3.Lớp Socket

Lớp Socket dùng tạo kết nối từ phía máy khách với máy chủ thờng đợc khởi dựng bằng các phơng thức sau ;

1. pubic Socket (String host,int port ) throws UnkownHostException,IOException

Tạo ra một socket kết nối địa chỉ host và số cổng port

2. public Socket (InetAddress ađres,int port ) tthrows IOException Tạo ra một socket kết nối từ địa chỉ là đối tợng InetAddress và số cổng port

3. pubic Socket(String host , int port , boolean stream) throws IOE xception

Tạo ra một socket kết nối theo địa chỉ host và số cổng port. Tham số stream cuối cùng để quy định kết nối theo TCP stream = true ; hay UDP stream = fatse . Tuy nhiên nếu áp dụng để tạo socket cho giao thức UDP nên sử dụng lớp thay thế là DatagramSocket

Các phơng thức khác hỗ trợ cho lớp Socket từ phía máy khách bao gồm

InputStream get InputStream ( ) throws IOException

Lấy về luồng nhập để máy khách có thể đọc dữ liệu trả về từ phía máy chủ

Output Stream get Output Stream( )throws IOE xception

Lấy về luồng xuất để máy khách có thể ghi giữ liệu gửi dến máy chủ

InetAddress getInetAddress( )

Lấy số cổng của socket int getPort( )

Đóng luồng cắt đứt kết nối với máy chủ

synchronized void close ( ) throws IOException

Ví dụ đoạn mã sau sẽ thực hiện kết nối với máy chủ có địa chỉ “my.testing.server” và mở ra hai luồng xuất nhập để đọc và gửi thông tin đến máy chủ có theo theo số cổng 1234:

Try {

Socket me = new Socket (“my.testing.server”,1234);

// Luồng nhập để đọc thông tin trả về từ máy chủ kết nối

DataInputStream in = newDataOutputStream (me.getInputStream ( ));

// luồng xuất dể ghi thông tin gửi đến máy chủ

DataOutputStream out = DataOutputStream (me.getOutputStream ( )) }catch (Exception e) {

System.out.println (e); }

6.4. Lớp ServerSocket

Lớp ServerSocket dùng để kết nối từ phía máy chủ với các máy khách. Đối tợng ServerSocket đợc tạo ra trên máy chủ và lắng nghe những kết nối từ phía máy khách gửi đến theo một số cổng định trớc. Đối tợng ServerSocket đợc khởi dụng từ phơng thức sau:

public ServerSocket (int port) throws IOException

public ServerSocket(int port, int backlog) throws IOException

port là số hiệu cổng mà đối tợng Serversocket phải lắng nghe để nhận biết những kết nối từ phía máy khách gửi đến. backlog thời gian chờ đợi kết nối. Để chờ đợi kết nối từ các máy khách gửi đến đối tợng ServerSocket thờng nhờ đến phơng thức accept nh sau:

Socket accept ( ) throws IOException

Phơng thức này thực sự dùng lại chờ đợi cho đến khi nhận đợc thông tin kết nối sẽ trả về đối tợng socket của máy khách nơi có yêu cầu nối vào máy chủ.

Cuối cùng máy chủ có thể cắt đứt mọi kết nối bằng cách gọi phơng thức close của đối tợng ServerSocket:

public void close ( ) throws IOException

Ví dụ doạn mã sau sẽ tạo một đối tợng ServerSocket trên máy chủ luôn lắng nghe kết nối từ máy khách gửi đến qua số cổng 1234

try {

ServerSocket server = new ServerSocket (1234) ; Socket client ;

Một phần của tài liệu Chatting program (Trang 74 - 76)

Tải bản đầy đủ (DOC)

(79 trang)
w