Loading [MathJax]/extensions/tex2jax.js

2010-10-07

[C++/CLI] UDPプログラミング

UDP送信プログラムのメモ書きです。下記のサンプルは、サーバー側でテキストボックスの内容を送信しています。

送信側(サーバ)
  1. int groupPort = 11000;  
  2. IPEndPoint ^groupEP = gcnew IPEndPoint(IPAddress::Parse("255.255.255.255"), groupPort);  
  3. //ブロードキャストの場合  
  4. //groupEP = gcnew IPEndPoint(IPAddress::Broadcast, groupPort);  
  5. groupEP = gcnew IPEndPoint(IPAddress::Parse("192.168.1.28"), groupPort);  
  6.   
  7. Socket ^socket = gcnew Socket(AddressFamily::InterNetwork, SocketType::Dgram, ProtocolType::Udp);  
  8. socket->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::Broadcast, 1);  
  9. socket->SendTo(System::Text::ASCIIEncoding::ASCII->GetBytes(textBox1->Text), groupEP);  
受信側(クライアント)
  1. Socket ^listener = gcnew Socket(AddressFamily::InterNetwork, SocketType::Dgram,ProtocolType::Udp);  
  2. IPEndPoint ^localEndPoint = gcnew IPEndPoint(IPAddress::Any, 11000);  
  3. listener->Bind(localEndPoint);  
  4.   
  5. EndPoint ^ep = gcnew IPEndPoint(0,0);  
  6. System::Diagnostics::Debug::WriteLine("Ready to receive…");  
  7.   
  8.   
  9. array<Byte> ^data = gcnew array<Byte>(1024);  
  10. int recv = listener->ReceiveFrom(data, ep);  
  11. String ^stringData = Encoding::ASCII->GetString(data, 0, recv);  
  12. System::Diagnostics::Debug::WriteLine(stringData);  
  13. listener->Close();  


0 件のコメント:

コメントを投稿