Visual C++ .NET/Network/Udp Client
Содержание
Udp Client
<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); 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));
}
</source>
Udp Client by Socket class
<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); 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));
}
</source>
Udp Client by UdpClient class
<source lang="csharp">
- 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));
}
</source>
Udp Client 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); 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));
}
</source>