Visual C++ .NET/Network/Udp Server — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 12:06, 26 мая 2010
Udp Server
#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);
}
}
Udp Server with Socket
#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);
}
}