Я пытаюсь прочитать данные из сокета, подключенного к AGWP Engine. Это простой сервер TCP / IP, который по умолчанию отправляет кадры через сокет на порт 8000.
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect("10.0.0.2", 8000);
socket.ReceiveTimeout = 3000;
while(true)
{
Console.WriteLine(socket.Connected + " - " + socket.Available);
byte[] buffer = new byte[36];
int read = socket.Receive(buffer, 0, 0, SocketFlags.None, out SocketError error);
Console.WriteLine(read);
}
Это пример моего кода, который я использую в других проектах. Но я ничего не получаю в буфере.
Когда я запускаю приложение AGWTracker , я правильно вижу входящие данные. Я нашел agwpe .net порт , который тоже не работает.
Согласно ответу, который я получил от socket.Available, данные не должны присутствовать в потоке. Есть ли другой способ проверить, доступны ли данные? Есть ли другой класс, который можно использовать вместо socket или socketClient?