ThS. Nguyễn Bá Vương
Hướng dẫn các bạn sinh viên có thể tự lập trình một chương trình nhỏ, ứng dụng điều khiển và truyền dữ liệu qua Ethernet bằng phương thức truyền thông Protocol TCP/IP trên giao diện Visual Basic 6 (VB6).
Chương trình thứ nhất: Chương trình "Server"
Bước 1:
Khời động phần mềm VB6 sau đó tạo 1 Project mới với tên "server".
- Từ Project chúng ta lựa chọn Components như sau:

Bước 2: - Sau đó lựa chọn Microsoft Winsock Control

Bạn có thể thấy biểu tượng của Microsoft Winsock Control đã được đưa ra ngoài như hình dưới.

Bước 3: Bây giờ chúng ta chọn và sử dụng Winsock control. Chúng ta đưa nó vào Form1

Bước 4: Chúng ta viết một số hoạt động sẽ được thực hiện khi khởi động chương trình Server. Trong thời gian Form1 tải chúng ta sẽ kiểm tra trạng thái kết nối, sckConnected ở chế độ sẳn sàng kết nối và kiềm tra chương trình không phải dưới chế độ Listening của cổng SckListening quy định.
Private Sub Form_Load()
‘’ Đổi tên "Winsock" thành "oflameron"
Form1.Visible = True ‘’Form1 is visible
Do
If oflameron.State <> sckConnected And oflameron.State <> sckListening Then
oflameron.Close ‘’ Tất cả kết nối sẽ phải tắt
oflameron.Listen ‘’ Chuyển sang cổng ở chế độ Listen
End If
DoEvents
Loop
End Sub
Bạn có thể lựa chọn Port bởi bản thân của bạn. Giá trị của các Port nằm từ 1 tới 65535. Tuy nhiên có một số Port đã thuộc tiêu dự chữ và một số dịch vụ chuẩn. Khuyến cáo, chọn số lượng một Port không sừ được sử dụng bởi thư từ hay telnet.
Một có thể chỉ báo số lượng một Port trong 1 chương trình sử dụng .
Bước 5: Chỉnh sửa tên cùa Winsock, Lựa chọn lại port là 125, lựa chọn Protocol là 0-TCP

Chúng ta hãy viết thủ tục của việc xử lý một yêu cầu kết nối .

Private Sub oflameron_ConnectionRequest(ByVal requestID As Long)
oflameron.Close ‘’Listen close
oflameron.Accept requestID ‘’ Let’s tap a Client with the number of his request
End Sub
Bước 6: Bây giờ chúng ta hãy viết những yêu cầu nhận được từ những Clients. Chúng ta chọn Text1 ở dạng TextBox. Trên TextBox chúng ta sẽ viết những dòng chữ chúng ta muốn gởi.

Private Sub oflameron_DataArrival(ByVal bytesTotal As Long)
Dim Data As String
oflameron.GetData Data
Text1.Text = Data
If Data = "END" Then End
If Data = "NOTEPAD" Then Shell ("notepad.exe")
End Sub
Bước 7: Để dể dàng cho người sử dụng chúng ta biên dịch sang tập tin Server.exe

Chương trình thứ nhất: Chương trình "Client"
Chúng ta hãy tạo ra một dự án EXE mới. Trong vùng Form chúng ta đặt những ô hiển thị Text để hiển thị IP và Port. Trong vùng IP sẽ có địa chỉ IP máy tính ( Nó có thể bắt đầu cả hai phần trên một máy tính), ở đâu phần "Server" được bắt đầu. Ngay tức thì trong vùng Port nó có thể cài đặt một cổng "Listening" cung cấp cho trình ứng dụng của Server.
Chúng ta đặt một số nút và Winsock Control lên form.

Các nút:
|
Connect - Command1 CommandButton – Dùng để kết nối với Server |
Disconnect - Command2 CommandButton – Dùng để tắt kết nối với Server |
Send Message - Command3 CommandButton – Gởi một gói tin trong Text1.Text |
Load Notepad - Command4 CommandButton – Tải một Notepad.exe trong Server |
Close Server - Command5 CommandButton – Đóng Server.exe |
Chúng ta nên tìm địa chỉ IP của máy tính mà chứa Client .
Bạn có thể tìm địa chỉ IP bằng cách:
- Chọn Start menu/run, sau đó gõ CMD và enter.
- Bạn gõ lệnh ipconfig –all vào màn hình Dos, khi đó bạn sẽ thất địa chỉ IP của máy.
Chúng ta viết đoạn chương trình phát hiện địa chỉ IP của máy tính như sau:
|
Private Sub Form_Load()
IP.Text = wsock.LocalIP
End Sub
|
Chúng ta viết lệnh cho các nút lệnh như sau: |
Connect - Command1 CommandButton - Dùng để kết nối với Server |
Private Sub Command1_Click() - START YOUR WORK BY PRESSING IT!!!!
wsock.Close ‘’Connections close
wsock.RemoteHost = IP ‘’IP-address of Server
wsock.RemotePort = Port ‘’The number of the port is set in Port.Text (TextBox) - 125
wsock.Connect ‘’Set connection
End Sub |
Disconnect – Command2 CommandButton – Dùng để tắt kết nối với Server |
Private Sub Command2_Click()
wsock.Close ''Close connection
End Sub |
Send Message – Command3 CommandButton – Gởi một gói tin trong Text1.Text |
Private Sub Command3_Click()
If wsock.State <> sckConnected Then Exit Sub
wsock.SendData
End Sub |
Load Notepad – Command4 CommandButton – Tải một Notepad.exe trong Server |
Private Sub Command4_Click()
If wsock.State <> sckConnected Then Exit Sub
wsock.SendData "NOTEPAD"
End Sub |
Close Server – Command5 CommandButton – Đóng Server.exe |
Private Sub Command5_Click()
If wsock.State <> sckConnected Then Exit
wsock.SendData "END"
End Sub
Download file ví dụ: Click here!
Chúc các bạn thành công!
|
Số lần xem trang : 14924 Nhập ngày : 30-05-2008 Điều chỉnh lần cuối : 30-05-2008 Ý kiến của bạn về bài viết này
|