(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接続が解除されています。
スクリーンショット 2022-07-26 17.30.57

(ESP32の目次)