Потоковые большие сообщения через потоковый сокет IPPROTO_SCTP в C

Я пытаюсь создать приложение для потоковой передачи видео с минимальной задержкой «и будет выполняться некоторая обработка изображений», для этого я собираю кадры с помощью openCV и отправляю данные объекта mat клиенту, который должен иметь возможность их просматривать.
эти сообщения являются большими порциями данных 230399 байт именно для моей текущей конфигурации
Мне удалось отправить объекты mat ранее, а также десериализовать и просмотреть их с использованием потоковых сокетов TCP, но у меня были проблемы с границами сообщений, поэтому я перешел на сокеты SCTP, но теперь проблема в том, что я не могу отправлять сообщения размером более 1999 байт данных.
Код, который я использую для создания сокета:

ServerSocketFileDiscriptor= socket( AF_INET, SOCK_STREAM,IPPROTO_SCTP );
bzero( (void *)&serverAddress, sizeof(serverAddress) );
serverAddress.sin_family = AF_INET;
serverAddress.sin_addr.s_addr = htonl( INADDR_ANY );
serverAddress.sin_port = htons(29008);
bind( ServerSocketFileDiscriptor(structsockaddr*)&serverAddress,sizeof(serverAddress) );

/* Maximum of 1 streams will be available per socket */
memset( &message, 0, sizeof(message) );
message.sinit_num_ostreams = 1;
message.sinit_max_instreams = 1;
message.sinit_max_attempts = 2;
setsockopt( ServerSocketFileDiscriptor, IPPROTO_SCTP, SCTP_INITMSG,
&message, sizeof(message) );

listen( ServerSocketFileDiscriptor, 5 );

и код, который я использую для отправки сообщений

    int status=sctp_sendmsg( clientSocketFileDiscriptor, (void *)buffer, (size_t)strlen(mystr), NULL, 0, 0, 0, 0 /* stream */, 0, 0 );
cout <<status<<"....................................."<<endl;

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]