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