hawkeye camera support(not tested)

This commit is contained in:
meelstorm
2025-08-19 12:45:50 +02:00
parent f80b275ad8
commit 6ef6aced8d
170 changed files with 20190 additions and 72 deletions

View File

@@ -0,0 +1,58 @@
using System;
using System.Net;
using System.Net.Sockets;
using Inspectron.HawkEye.Protocol;
using Inspectron.HawkEye.Protocol.Interfaces;
using UdtSharp;
namespace Inspectron.HawkEye
{
public class UDTServer
{
private readonly IImageSource _imageSource;
UdtSharp.UdtSocket _server;
public UDTServer(IImageSource imageSource)
{
_imageSource = imageSource;
_server = new UdtSharp.UdtSocket(AddressFamily.InterNetwork, SocketType.Stream);
_server.Bind(new IPEndPoint(IPAddress.Any, 27001));
_server.Listen(1);
}
public void Receive()
{
while (true)
{
var socket=_server.Accept();
byte[] buffer = new byte[10];
while (socket.IsConnected())
{
socket.Receive(buffer, 0, 10);
switch ((ERequestType) buffer[0])
{
case ERequestType.Trigger:
{
var image = _imageSource.GetImage();
int sent = 0;
while (sent < image.Length)
{
sent += socket.Send(image, sent, image.Length - sent);
}
}
break;
default:
throw new ArgumentOutOfRangeException();
}
}
}
}
}
}