実際のところ
Unity側
以下のようなスクリプトを用意し、空のゲームオブジェクトに紐づけます。
パラメータとしてIPアドレスとポート番号がでるので、変わるようならUI側で調整してもいいでしょう。
using UnityEngine; using System; using System.Net; using System.Net.Sockets; using System.Text; public class UDPSender : MonoBehaviour { [SerializeField] private string targetIPAddress = "192.168.1.100"; // デフォルトのIPアドレス [SerializeField] private int targetPort = 12345; // デフォルトのポート番号 private UdpClient udpClient; private int spaceKeyPressCount = 0; private void Start() { udpClient = new UdpClient(); } private void Update() { if (Input.GetKeyDown(KeyCode.Space)) { spaceKeyPressCount++; SendUDPMessage(); } } private void SendUDPMessage() { try { long unixTime = DateTimeOffset.UtcNow.ToUnixTimeSeconds(); string message = $"{unixTime},{spaceKeyPressCount}"; byte[] data = Encoding.UTF8.GetBytes(message); udpClient.Send(data, data.Length, targetIPAddress, targetPort); Debug.Log($"Sent message: {message} to {targetIPAddress}:{targetPort}"); } catch (Exception e) { Debug.LogError($"Error sending UDP message: {e.Message}"); } } private void OnApplicationQuit() { if (udpClient != null) { udpClient.Close(); } } }
netcatで受信テスト
$ nc -ulv 9606