Visual C++ .NET/Network/Udp Server

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Udp Server

<source lang="csharp">

  1. 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">

  1. 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>