у меня есть гнездо, в котором я хочу, чтобы получить несколько сообщений от неизвестных длин: текст, средств массовой информации, ..Windows Phone 8 - Держите гнездо открытым и получать данные о неизвестной длине
Я видел, как он работает с Windows.Networking .Sockets и кажется, что отправитель должен сначала отправить длину, а это не мой случай.
Я увидел несколько улучшений в System.Net.Sockets, но не нашел событий, которые прослушивают получение пакетов данных.
Мой вопрос: должен ли я каждый раз проверять сокет на данные? есть ли лучшая реализация?
TCP 101: если у вас нет протокола более высокого уровня, у вас не может быть сообщений более одного байта. –
Вы хотите сохранить эти данные, не зная правил приложения для его разбора? Одна из идей заключается в том, чтобы читать буфер, заполненный данными за раз из сокета, до тех пор, пока отправитель не закроет TCP-запрос. Если вы хотите разделить разные виды данных, вам нужно будет изучить различные приложения, которые вы хотите поддержать, и проанализировать полученные данные по мере их поступления. Затем вы можете узнать, достигли ли вы конца единицы работы. – BobHy