Lập trình truyền thông: Socket dưới ngôn ngữ Java – VOER

Các bước tổng quát:

Socket s = new Socket(“www.cit.ctu.edu.vn”,80);Hoặc: Socket s = new Socket(“203.162.36.149”,80);

Chương trình TCPEchoClient

Trên hệ thống UNIX, Dịch vụ Echo được thiết kế theo kiến trúc Client-Server sử dụng Socket làm phương tiện giao tiếp. Cổng mặc định dành cho Echo Server là 7, bao gồm cả hai chế độ có nối kết và không nối kết.

Chương trình TCPEchoClient sẽ nối kết đến EchoServer ở chế độ có nối kết, lần lượt gởi đến Echo Server 10 ký tự từ ‘0’ đến ‘9’, chờ nhận kết quả trả về và hiển thị chúng ra màn hình.

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

import java.io.*;import java.net.Socket;public class TCPEchoClient{    public static void main(String args[]){        try {            Socket s = new Socket(args[0],7);            // Nối kết đến Server            InputStream is = s.getInputStream();         // Lấy InputStream            OutputStream os = s.getOutputStream(); // Lấy OutputStream            for (int i=’0′; i<=’9′;i++){     // Gui ‘0’ ->’9’ den EchoServer                os.write(i);                               // Gởi 1 ký tự sang Server                 int ch = is.read();                    // Chờ nhận 1 ký tự từ Server                System.out.print((char)ch);   // In ký tự nhận được ra màn hình            }        }     //try        catch(IOException ie){            System.out.println(“Loi: Khong tao duoc socket”);        }     //catch    }     //main}

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


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

Chương trình này nhận một đối số là địa chỉ IP hay tên miền của máy tính mà ở đó Echo Server đang chạy. Trong hệ thống mạng TCP/IP mỗi máy tính được gán một địa chỉ IP cục bộ là 127.0.0.1 hay có tên là localhost. Trong ví dụ trên, chương trình Client  nối kết đến Echo Server trên cùng máy với nó.