Visual C++ .NET/Network/Udp Server
Udp Server
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Net; using namespace System::Net::Sockets; using namespace System::Text;
void main() {
IPEndPoint^ ipep = gcnew IPEndPoint(IPAddress::Any, 54321); UdpClient^ server = gcnew UdpClient(ipep); array<unsigned char>^ message; while(true) { IPEndPoint^ Remote = gcnew IPEndPoint(IPAddress::Any, 0); message = server->Receive(Remote); Console::WriteLine("[{0}] [{1}]", Remote->ToString(), Encoding::ASCII->GetString(message, 0, message->Length)); server->Send(message, message->Length, Remote); }
}
</source>
Udp Server with Socket
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Net; using namespace System::Net::Sockets; using namespace System::Text; void main() {
Socket^ socket = gcnew Socket(AddressFamily::InterNetwork, SocketType::Dgram, ProtocolType::Udp); IPEndPoint^ ipep = gcnew IPEndPoint(IPAddress::Any, 54321); socket->Bind(ipep); while(true) { array<unsigned char>^ message = gcnew array<unsigned char>(1024); EndPoint^ Remote = (EndPoint^) gcnew IPEndPoint(IPAddress::Any, 0); int recv = socket->ReceiveFrom(message, Remote); Console::WriteLine("[{0}] {1}", Remote->ToString(), Encoding::ASCII->GetString(message, 0, recv)); socket->SendTo(message, recv, SocketFlags::None, Remote); }
}
</source>