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:
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é:
[wow] [/wow]
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:
- Code:
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace MyUdpClient
{
class TestUdpClient
{
public static void Main()
{
// tạo một đối tượng MyUdpClient
MyUdpClient client = new MyUdpClient();
// thực hiện kết nối và gửi thông điệp
client.OnConnect();
}
}
#region === CLASS: MyUdpClient ===
class MyUdpClient
{
// Method
public void OnConnect()
{
// thông tin host để kết nối
string _host = "127.0.0.1";
// thông tin về port connect
int _port = 2008;
// tạo một UDP Object
UdpClient udp = new UdpClient();
// kết nối tới host
udp.Connect(_host, _port);
// tạo data để gửi đi. Luôn ở dạng Bytes nhé :)
Byte[] data = Encoding.ASCII.GetBytes("Xcross87 Client says hello to Server");
// gửi data tới host
udp.Send(data,data.Length);
}
}
#endregion
}
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é:
- Code:
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace MyUdpServer
{
class TestUdpServer
{
public static void Main()
{
// tạo một đối tượng MyUdpServer
MyUdpServer server = new MyUdpServer();
// mở server để bắt đầu listen các client
server.OnStart();
}
}
#region === CLASS: MyUdpServer ===
class MyUdpServer
{
// Method
public void OnStart()
{
// tạo một đối tượng UdpClient và lắng nghe cổng 2008
UdpClient udp = new UdpClient(2008);
// thực hiện listen liên tục
while (true)
{
// xác định điểm Remote IP
IPEndPoint RemoteIPEndPoint = new IPEndPoint(IPAddress.Any, 0);
// thu lấy thông tin từ client dạng byte
Byte[] data = udp.Receive(ref RemoteIPEndPoint);
// chuyển về string
string message = Encoding.ASCII.GetString(data);
// in thông điệp ra
Console.WriteLine("Address: {0} - Message: {1}", RemoteIPEndPoint.Address, message);
}
}
}
}
[wow] [/wow]