chương trình udp Đơn giản

5
1. Chương trình UDP đơn giản (Server/Client) Cùng nhau làm một chương trình đơn giản sử dụng UDP để gửi thông điệp nhé. Đầu tiên viết về Client gửi một thông điệp tới server Visual C# Code: Select All | Show/Hide 1. using System; 2. using System.Net; 3. using System.Net.Sockets; 4. using System.Text; 5. 6. namespace MyUdpClient 7. { 8. class TestUdpClient 9. { 10. public static void Main() 11. { 12. // tạo một đối tượng MyUdpClient 13. MyUdpClient client = new MyUdpClient(); 14. // thực hiện kết nối và gửi thông điệp 15. client.OnConnect(); 16. } 17. } 18. 19. #region === CLASS: MyUdpClient === 20. class MyUdpClient 21. { 22. // Method 23. public void OnConnect() 24. { 25. // thông tin host để kết nối 26. string _host = "127.0.0.1"; 27. // thông tin về port connect 28. int _port = 2008; 29. // tạo một UDP Object 30. UdpClient udp = new UdpClient(); 31. // kết nối tới host 32. udp.Connect(_host, _port); 33. // tạo data để gửi đi. Luôn ở dạng Bytes nhé :) 34. Byte[] data = Encoding.ASCII.GetBytes("Xcross87 Client says hello to Server"); 35. // gửi data tới host 36. udp.Send(data,data.Length); 37. } 38. }

Upload: thinh-tran-van

Post on 09-Dec-2015

216 views

Category:

Documents


3 download

DESCRIPTION

Chương Trình UDP Đơn Giản

TRANSCRIPT

Page 1: Chương Trình UDP Đơn Giản

1. Chương trình UDP đơn giản (Server/Client)

Cùng nhau làm một chương trình đơn giản sử dụng UDP để gửi thông điệp nhé.

Đầu tiên viết về Client gửi một thông điệp tới server

Visual C# Code:Select All | Show/Hide

1. using System;

2. using System.Net;

3. using System.Net.Sockets;

4. using System.Text;

5.  

6. namespace MyUdpClient

7. {

8.     class TestUdpClient

9.     {

10.         public static void Main()

11.         {

12.             // tạo một đối tượng MyUdpClient

13.             MyUdpClient client = new MyUdpClient();

14.             // thực hiện kết nối và gửi thông điệp

15.             client.OnConnect();

16.         }

17.     }

18.  

19.     #region === CLASS: MyUdpClient ===

20.     class MyUdpClient

21.     {

22.         // Method

23.         public void OnConnect()

24.         {

25.             // thông tin host để kết nối

26.             string _host = "127.0.0.1";

27.             // thông tin về port connect

28.             int _port = 2008;

29.             // tạo một UDP Object

30.             UdpClient udp = new UdpClient();

31.             // kết nối tới host

32.             udp.Connect(_host, _port);

33.             // tạo data để gửi đi. Luôn ở dạng Bytes nhé :)

34.             Byte[] data = Encoding.ASCII.GetBytes("Xcross87 Client says hello to Server");

35.             // gửi data tới host

36.             udp.Send(data,data.Length);

37.         }

38.     }

39.     #endregion

Page 2: Chương Trình UDP Đơn Giản

40. }

Bây giờ ta viết một UDP Server phải open port 2008 để listen các connection tới và thu nhận các gói thông điệp từ client gửi đến nhé

Visual C# Code:Select All | Show/Hide

41. using System;

42. using System.Net;

43. using System.Net.Sockets;

44. using System.Text;

45.  

46. namespace MyUdpServer

47. {

48.     class TestUdpServer

49.     {

50.         public static void Main()

51.         {

52.             // tạo một đối tượng MyUdpServer

53.             MyUdpServer server = new MyUdpServer();

54.             // mở server để bắt đầu listen các client

55.             server.OnStart();

56.         }

57.     }

58.     #region === CLASS: MyUdpServer ===

59.     class MyUdpServer

60.     {

61.         // Method

62.         public void OnStart()

63.         {

64.             // tạo một đối tượng UdpClient và lắng nghe cổng 2008

65.             UdpClient udp = new UdpClient(2008);

66.             // thực hiện listen liên tục

67.             while (true)

68.             {

69.                 // xác định điểm Remote IP

70.                 IPEndPoint RemoteIPEndPoint = new IPEndPoint(IPAddress.Any, 0);

71.                 // thu lấy thông tin từ client dạng byte

72.                 Byte[] data = udp.Receive(ref RemoteIPEndPoint);

73.                 // chuyển về string

74.                 string message = Encoding.ASCII.GetString(data);

75.                 // in thông điệp ra

76.                 Console.WriteLine("Address: {0} - Message: {1}", RemoteIPEndPoint.Address,

message);

77.             }

78.         }

Page 3: Chương Trình UDP Đơn Giản

79.     }

80. }

sau đó bật cái Server lên để im và bật cái Client lên bạn sẽ thấy kết quả thông điệp như ý muốn None!Trả lời cùng với trích dẫn

2. 19-08-2008, 04:06 PM#3

seulement 

Awaiting Email Confirmation

Ngày gia nhập

06 2007

Bài viết

2bạn oy choa mình hỏi là tại sao mình viết nguyên đoạn code của bạn ào goy,nhưng khi chay noa vẫn thực hiện nhưng ở server không thấy coa chữ nào hết trơn zay.thấy noa đen ngòm àh,còn điều kiện nào nữa hay hok khi lập trình mạngTrả lời cùng với trích dẫn

3. 29-12-2008, 10:42 PM#4

thansautk 

Thành viên nhiệt tình

Ngày gia nhập

10 2008

Bài viết

258chạy rất ổn mà bạn.bạn phải chạy sever rồi mới chạy client.rất cám ơn X nhéTrả lời cùng với trích dẫn

4. 20-01-2009, 08:46 AM#5

meocontaplamC 

Thành viên mới

Ngày gia nhập

01 2008

Bài viết

28

Page 4: Chương Trình UDP Đơn Giản

Bạn ơi sao không thấy ra tiếp vậy. Bài này rất hay, mình cũng đang bắt đầu tìm hiểu về lập trình socket. Đang làm bài tập lớn.Mình đang có một mô hình chưa biết làm thế nào được.Mô hình của mình là: Mình có máy chủ cài SQL quản lý các dữ liệu, trong đó có một cột dữ liệu chứa tên file(ma file đó được upload từ máy client). và sau đó có từ máy client đó download file đó về. Mình đã làm được trong một máy, nhưng trong một mô hình mang Lan hoặc mạng Internet thì mình chưa biết làm như thế nào. Search trên mạng thì mọi người bảo là cái này tìm hiểu về lập trình socket.Mọi người có tài liệu nào hoặc đoạn code (thì càng tốt) thì chỉ cho mình. Mình cảm ơn mọi người.Trả lời cùng với trích dẫn

5. 20-01-2009, 10:11 PM#6

comeonbaby 

Awaiting Email Confirmation

Ngày gia nhập

11 2007

Bài viết

153

 Lập trình Socket với C# <Socket Programming>

Cái này phải cấu hình mở cổng trên modem thôi còn lại lập trình socket không có gì nhiều lắm đâu.ttecak ?Trả lời cùng với trích dẫn

6. 23-01-2009, 04:42 PM#7

meocontaplamC 

Thành viên mới

Ngày gia nhập

01 2008

Bài viết

28Chào cả nhà.

Không có ai trợ giúp tui hay sao? Hic.  Mong mọi người trợ giúp nhanh cái. Đang làm bài tập lớn mà không biết làm như thế nào. Cho hỏi thêm là: Tui có tim hiểu trên mạng thi có câu lệnh bên VB như sau:My.Computer.network.Download(Đia chỉ đích,Địa chỉ nguồn)My.Computer.network.Upload(Đia chỉ nguồn,Địa chỉ đích)Câu lệnh này bên C# thì có tương ứng như thế nào. Ý nghĩa của câu đó là làm sao?Mong mọi người giúp đỡ cho?Trả lời cùng với trích dẫn

7. 03-12-2010, 03:08 PM#8

nghiavn90 

Page 5: Chương Trình UDP Đơn Giản

Thành viên mới

Ngày gia nhập

11 2010

Bài viết

1tuần sau em có 1 bài tập về lập trình socket mà chưa có ý tưởng gì hết? Monh các bác giúp em..Đề bài lập trình client kết nối đến 1 server:Server là 1 trò chơi sổ xố kiến thiếtClient là người tham gia:Thể lệ:Client đăng nhập vào Server--> Server check nick name và pass có trùng hay không.Server cho Client 5 số mỗi số có 2 chữ số để chọn 1 trong 5 --> Rồi Client gửi lên ServerChủ Server đưa ra 1 số có 2 chữ số trúng thưởng để test với Client. Nếu trùng thì cộng Client 10 điểm. Sai thì trừ 15 điểm.Nếu Client được 50 điểm sẽ thắng cuộc.Nếu sau 5 lần xổ số mà không đat 50 thì sẽ thua.