(ESP32の目次)
ESP32でのTCP信号の受信について、送信側であるパソコンのプログラムをC#で作成した例です。ESP32側のプログラムは「4.6.2e ESP32でパソコンからのTCP信号を受信する」と同じです。
送信側の流れとしては、まず、TcpClient()でサーバであるESP32にIPアドレスとポート番号を指定して接続し、TcpClientのインスタンス(ここではtcp)を作成します。次に、tcpからGetStream()でNetworkStream(ここではns)を取得します。このnsを使って、バイト配列に変換したメッセージをns.Write()により送信します。通信が終了したらnsとtcpをClose()します。
ここでは、カウント値を増やしながら1秒間隔で5回メッセージを送信しています。

(ESP32の目次)
ESP32でのTCP信号の受信について、送信側であるパソコンのプログラムをC#で作成した例です。ESP32側のプログラムは「4.6.2e ESP32でパソコンからのTCP信号を受信する」と同じです。
送信側の流れとしては、まず、TcpClient()でサーバであるESP32にIPアドレスとポート番号を指定して接続し、TcpClientのインスタンス(ここではtcp)を作成します。次に、tcpからGetStream()でNetworkStream(ここではns)を取得します。このnsを使って、バイト配列に変換したメッセージをns.Write()により送信します。通信が終了したらnsとtcpをClose()します。
ここでは、カウント値を増やしながら1秒間隔で5回メッセージを送信しています。
using System;
public class TcpSender
{
static void Main()
{
string remoteHost = "192.168.3.18";
int remotePort = 6342;
System.Net.Sockets.TcpClient tcp = new System.Net.Sockets.TcpClient(remoteHost, remotePort);
System.Net.Sockets.NetworkStream ns = tcp.GetStream();
for (int count = 0; count < 5; count++)
{
string sendMsg = "TCP Send C# " + count.ToString() + "\r";
byte[] sendBytes = System.Text.Encoding.UTF8.GetBytes(sendMsg);
ns.Write(sendBytes, 0, sendBytes.Length);
System.Threading.Thread.Sleep(1000);
}
ns.Close();
tcp.Close();
}
}
受信側であるESP32のシリアルモニタ出力は以下のようになります。正常に5回分のメッセージが受信できていることがわかります。送信終了後、TCP接続が解除されています。
(ESP32の目次)
コメント