Здравствуйте, пытаюсь сделать клиент для IP камеры, ну вот за основу взял обычный клиент h.264 CMS и её насниффил, а точнее какие данные должны проходить в идеальном случае, ну и просто напросто мне нужно это повторить. Так вот, в чём заключается проблема, подключение происходит успешно, первый запрос (Claim) тоже, Ip camera отвечает точно так же как и должно быть, но потом отправляю второй запрос (Start) и всё, глухо, программа стоит в ожидании, а камера не собирается отвечать картинкой (пакетом).
Код :
public MainWindow()
{
InitializeComponent();
TcpClient tcpClient = new TcpClient();
byte[] bufferR = new byte[tcpClient.ReceiveBufferSize];
bufferW = new byte[] { 0xff, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x05, 0xb9, 0x00, 0x00, 0x00, 0x7b, 0x20, 0x22, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x4f, 0x50, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x4f, 0x50, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x22, 0x2c, 0x20, 0x22, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x20, 0x3a, 0x20, 0x30, 0x2c, 0x20, 0x22, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x4e, 0x4f, 0x4e, 0x45, 0x22, 0x2c, 0x20, 0x22, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x4d, 0x61, 0x69, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x54, 0x43, 0x50, 0x22, 0x20, 0x7d, 0x20, 0x7d, 0x2c, 0x20, 0x22, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x30, 0x78, 0x35, 0x33, 0x22, 0x20, 0x7d, 0x0a };
tcpClient.Connect("192.168.1.10", 34567);
NetworkStream netStream = tcpClient.GetStream();
netStream.Write(bufferW,0,bufferW.Count());
netStream.Read(bufferR, 0, tcpClient.ReceiveBufferSize);
bufferW = new byte[] { 0xff, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x05, 0xb9, 0x00, 0x00, 0x00, 0x7b, 0x20, 0x22, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x4f, 0x50, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x4f, 0x50, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0x2c, 0x20, 0x22, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x22, 0x20, 0x3a, 0x20, 0x7b, 0x20, 0x22, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x20, 0x3a, 0x20, 0x30, 0x2c, 0x20, 0x22, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x4e, 0x4f, 0x4e, 0x45, 0x22, 0x2c, 0x20, 0x22, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x4d, 0x61, 0x69, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x54, 0x43, 0x50, 0x22, 0x20, 0x7d, 0x20, 0x7d, 0x2c, 0x20, 0x22, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x20, 0x3a, 0x20, 0x22, 0x30, 0x78, 0x35, 0x33, 0x22, 0x20, 0x7d, 0x0a };
netStream.Write(bufferW, 0, bufferW.Count());
while (true)
{
netStream.Read(bufferR, 0, tcpClient.ReceiveBufferSize); // Тут по идее должна приходить картинка
}
}
Пакеты, как должно быть :
https://yadi.sk/d/LrSSWKj43MSHdW
Пакеты, как у меня :
https://yadi.sk/d/bcZ1Y9iI3MSGtp
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Возможно ли перегрузить метод ConsoleWriteLine ?