Các bước kết nối socket bằng TCPCLIENT
Bạn đã quên các bước kết nối giữ client và sever thông qua TCPCLIENT bằng socket trong c#?Hôm nay chúng ta sẽ cùng tìm hiểu lại các bước kết nối client và sever. Thực hiện kết nối Sever từng bước từng bước:
Hãy cùng xem lại các bài có liên quan đến
Lập trình Socket C#
Khái niệm lập trình socket phần 1
Khái niệm lập trình socket phần 2
Khái niệm lập trình socket phần 3
Khái niệm lập trình socket phần 2
Khái niệm lập trình socket phần 3
Các bước kết nối thông qua TCPCLIENT.
#SEVER:Bước 1: Khai báo các thư viện.
+ system.net; + system.net.socket; + system.threaing; + system.io;Bước 2: Lấy tên máy và ip máy hiện hành.
Nếu không biết cách thì các bạn nên đọc các phần dưới đây nhé.
String tenmay=Dns.gethostname(); String ipmay=Dns.gethostbyname(tenmay).addresslist[0].tostring();Bước 3: Tạo lắng nghe cho sever.
Sau khi đã có tên máy và ip máy chúng ta bắt đầu tạo 1 TCPListener để lắng nghe client.
Chúng ta sẽ khai báo một biến port:
Int port=100; đây là số hiệu cổng cho mỗi máy khi kết nôi vào sever.Tiếp theo chúng ta sẽ tạo một hàm TCPLISTENER.
Tcplistener sever= new tcplistener(Ipaddress.parse(ipmay),port);
Truyền vào đây ip của máy và số hiệu cổng , sử dụng hàm Ipaddress.parse để đặt chuẩn ip cho hàm.
Tiếp theo chúng ta sẽ khởi động sever.
Bước 4: tạo một vòng lặp vô tận để luôn luôn lắng nghe client. Sau đó tạo một TCPCLIENT để chấp nhận kết nối từ sever.
While(true)
{
// Cho phép client kết nối vào sever.
TCPCLIENT client = sever .AcceptTcpClient();
Console.writeline(“Chấp nhận kết nối từ: “+client.Client.RemoteEndpoint);
New ClientThread(client);// Đây là hàm để lắng nghe các tiểu trình
}
Sever.stop // Đóng kết nối lại.
Bước 5: Tạo một hàm tạo tên là ClientThread được khai báo trong hàm while true từ trước. bao gồm các tiểu trình gửi và nhận dữ liệu.Public class ClientThread
{
Khởi tạo hai biến dùng chung trong class ClientThread
Private Thread tieutrinh;
Private Tcpclient client;
Public ClientThread(TCPClient client)// Hàm tạo
{
This.client=client; // hàm cliet hiện tại gán cho client phía trên;
Tieutrinh=new Thread(new ThreadStart(Guidl));
Tieutrinh.start()
// Khởi tạo tiểu trình chạy đa tiến trình.
}
Public void Guidl()
{
streamReader sr=new StreamReader(client.GetStream());// hàm lắng nghe từ sever
StreamWrite sw= new StreamWrite(client.Getstream());// hàm gửi dữ liệu từ sever về client.
Sw.Writelient(“Chao client da den sever “);
Sw.Flush();
Bước 6: Sauk hi chúng ta đã gửi về client một lời chào thì chúng ta sẽ lắng nghe sever bằng cách dùng sr.readline();String s=sr.readline();
String kq=””; tao một biến kết quả để gửi giá trị;
While(true)
{
Tạo một vòng lặp để luôn lắng nghe và gửi lại dữ liệu.
Switch(s)
{
Case”DONKI”;
Kq=”Ban da goi ten DONKI”;
Break;
}
Sw.writeline(kq);
Sw.FLUSH();
// Gửi dữ liệu ngoài vòng lặp
// Chú ý nên bỏ nó vào try catch để tránh client ngừng kết nối và báo lỗi.
}
}
}
Như vậy là xong phần Sever , chúng ta sẽ tìm hiểu phần Client trong phần sau của Bài hướng dẫn Kết nối Sever Và Client bằng TCPClient , gửi dữ liệu và nhận dữ liệu trong c#.
Nguồn: Các bước kết nối socket bằng TCPCLIENT
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment