Các bước kết nối socket bằng TCPCLIENT

Tuesday, January 20, 2015
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:
Các bước kết nối socket bằng TCPCLIENT

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

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

No comments:

Post a Comment