chương trình udp Đơn giản
DESCRIPTION
Chương Trình UDP Đơn GiảnTRANSCRIPT
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
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. }
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
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
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.