Visual C++ .NET/Network/Udp Client
Содержание
Udp Client
#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);
EndPoint^ Remote = gcnew IPEndPoint(IPAddress::Parse("127.0.0.1"), 54321);
if ((int)socket->GetSocketOption(SocketOptionLevel::Socket, SocketOptionName::ReceiveTimeout) < 5000)
{
socket->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::ReceiveTimeout, 5000 );
}
String^ input = "input";
array<unsigned char>^ message = Encoding::ASCII->GetBytes(input);
socket->SendTo(message, Remote);
message = gcnew array<unsigned char>(1024);
int recv = socket->ReceiveFrom(message, Remote);
Console::WriteLine("[{0}] {1}", Remote->ToString(), Encoding::ASCII->GetString(message, 0, recv));
}
Udp Client by Socket class
#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);
EndPoint^ Remote = gcnew IPEndPoint(IPAddress::Parse("127.0.0.1"),
54321);
String^ input = "asdf";
array<unsigned char>^ message = Encoding::ASCII->GetBytes(input);
socket->SendTo(message, Remote);
message = gcnew array<unsigned char>(1024);
int recv = socket->ReceiveFrom(message, Remote);
Console::WriteLine("[{0}] {1}", Remote->ToString(), Encoding::ASCII->GetString(message, 0, recv));
}
Udp Client by UdpClient class
#include "stdafx.h"
using namespace System;
using namespace System::Net;
using namespace System::Net::Sockets;
using namespace System::Text;
void main()
{
UdpClient^ client = gcnew UdpClient();
IPEndPoint^ Remote = gcnew IPEndPoint(IPAddress::Parse("127.0.0.1"), 54321);
String^ input = "input";
array<unsigned char>^ message = Encoding::ASCII->GetBytes(input);
client->Send(message, message->Length, Remote);
message = client->Receive(Remote);
Console::WriteLine("[{0}] {1}", Remote->ToString(), Encoding::ASCII->GetString(message, 0, message->Length));
}
Udp Client 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);
EndPoint^ Remote = gcnew IPEndPoint(IPAddress::Parse("127.0.0.1"),
54321);
socket->Connect(Remote);
String^ input = "asdf";
array<unsigned char>^ message = Encoding::ASCII->GetBytes(input);
socket->Send(message);
message = gcnew array<unsigned char>(1024);
int recv = socket->Receive(message);
Console::WriteLine("[{0}] {1}", Remote->ToString(), Encoding::ASCII->GetString(message, 0, recv));
}