UDP/IP 送信/受信(C#/VB.NET)
2011年02月03日
UDP/IPで通信するサンプル(ソース/コード)です。.NET(VB/C#)標準のSystem.Net.Sockets.UdpClientを使っています。UDP/IP関係のその他のツールやサンプルはこちらでお探しください。
UDP/IP送信/受信(VBS/VBA)、UDP/IP関係
' -----------------------------------------------------------
' UDP/IPで通信するサンプル(VB.NET/VS2005)
' ソケット生成
Dim objSck As New System.Net.Sockets.UdpClient(7777)
' UDP/IP接続
objSck.Connect("127.0.0.1", 8888)
System.Threading.Thread.Sleep(500)
' データ送信(文字列をByte配列に変換して送信)
Dim sdat As Byte() = _
System.Text.Encoding.GetEncoding( _
"SHIFT-JIS").GetBytes(Chr(2) & "1234567890" & Chr(3))
objSck.Send(sdat, sdat.GetLength(0))
' データ受信
Do
System.Threading.Thread.Sleep(500)
If objSck.Available > 0 Then
' Byte配列にデータ受信
Dim ipAny As System.Net.IPEndPoint = _
New System.Net.IPEndPoint( _
System.Net.IPAddress.Any, 0)
Dim rdat As Byte() = objSck.Receive(ipAny)
' Byte配列を文字列に変換して表示
MessageBox.Show( _
System.Text.Encoding.GetEncoding( _
"SHIFT-JIS").GetString(rdat))
Exit Do
End If
Loop
' UDP/IP切断
SerialPort1.Close()
MessageBox.Show("終了")
' -----------------------------------------------------------
// ----------------------------------------------------------
// UDP/IPで通信するサンプル(C#.NET/VS2005)
// ソケット生成
System.Net.Sockets.UdpClient objSck =
new System.Net.Sockets.UdpClient(7777);
// UDP/IP接続
objSck.Connect("127.0.0.1", 8888);
System.Threading.Thread.Sleep(500);
// データ送信(文字列をByte配列に変換して送信)
Byte[] sdat =
System.Text.Encoding.GetEncoding(
"SHIFT-JIS").GetBytes("\x02" + "1234567890" + "\x03");
objSck.Send(sdat, sdat.GetLength(0));
// データ受信
while(true){
System.Threading.Thread.Sleep(500);
if (objSck.Available > 0)
{
// Byte配列にデータ受信
System.Net.IPEndPoint ipAny =
new System.Net.IPEndPoint(
System.Net.IPAddress.Any, 0);
Byte[] rdat = objSck.Receive(ref ipAny);
// Byte配列を文字列に変換して表示
MessageBox.Show(
System.Text.Encoding.GetEncoding(
"SHIFT-JIS").GetString(rdat));
break;
}
}
// UDP/IP切断
serialPort1.Close();
MessageBox.Show("終了");
// ----------------------------------------------------------