Professional Documents
Culture Documents
Chương 5 - Lap Trinh Socket Voi TCP
Chương 5 - Lap Trinh Socket Voi TCP
Client
Server
Request message
Wait
Reply Execution
Server Client
Socket() 1 Socket()
Bind() 2 Bind()
Listen() 3
4 Connect()
Accept() 5
Các chức năng gửi và nhận Các chức năng gửi và nhận
6
Close() 7 Close()
3. MÔ HÌNH TRUYỀN TIN SOCKET
Các socket cho client thường được sử
dụng theo mô hình sau:
- Sử dụng hàm Socket() để tạo một
socket mới.
- Socket cố gắng liên kết với một
host ở xa.
- Mỗi khi liên kết được thiết lập, các
host ở xa nhận các luồng vào và ra từ
socket, và sử dụng các luồng này để gửi dữ
liệu cho nhau.
- Khi việc truyền dữ liệu hoàn thành,
một hoặc cả hai phía ngắt liên kết.
Ví dụ : HTTP đòi hỏi mỗi liên kết phải bị đóng
sau khi yêu cầu được phục vụ.
4. SOCKET CHO CLIENT
4.1. Các constructor
4.2. Nhận các thông tin về Socket
4.3. Đóng Socket
4.4. Thiết lập các tùy chọn cho Socket
4.5. Các phương thức của lớp Object
4.6. Các ngoại lệ Socket
4.7. Các lớp SocketAddress
4. SOCKET CHO CLIENT
4.1. Các Constructor
public Socket(String host, int port) throws
UnknownHostException, IOException
Hàm này tạo một socket TCP với host và cổng
xác định và thực hiện liên kết với host ở xa.
Ví dụ:
try{
Socket sk = new Socket( “www.ud.edu.vn”,80);
}catch(UnknownHostException e){System.err.println(e);}
catch(IOException e) {System.err.println(e);}
4. SOCKET CHO CLIENT
4.1. Các Constructor
Ví dụ: Viết chương trình để kiểm tra những cổng nào đang có
server hoạt động
import java.net.*;
import java.io.*;
class PortScanner { public static void main(String[] args)
{ String host="localhost";
if(args.length>0){ host=args[0]; }
for(int i=0;i<1024;i++)
{ try{ Socket sk=new Socket(host,i);
System.out.println("Co mot server dang hoat dong tren
cong:"+i);
} catch(UnknownHostException e){
System.err.println(e); }
catch(IOException e){ System.err.println(e); }
}}}
4. SOCKET CHO CLIENT
OutputStream
InputStream
4. SOCKET CHO CLIENT