Я подумываю о создании серверного / клиентского приложения, которое сделает это: клиент (ы) подключится к серверу, а сервер отправит обратно список папок (возможно, музыку или видео), которые клиент сможетстрим или скачать.Я собираюсь сделать графический интерфейс для этого, чтобы он не был текстовым интерфейсом.Я хочу, чтобы, когда клиент подключается к серверу и получает информацию о медиа-файлах, которые можно передавать / загружать, клиент будет показывать папки / файлы в интерфейсе, похожем на проводник (папки будут отображаться со значком папки.видео будут отображаться со значком видео и т. д.)
Это кажется мне очень большим, но я действительно хочу узнать больше о программировании сокетов на C # и почувствовать, что действительно грязные руки - лучший способ.Как вы можете себе представить, у меня много путаницы по поводу того, как начать это и что мне нужно сделать, чтобы сделать эту работу.
Первая часть моего вопроса: если я хочу датьклиент получает список файлов / папок, а также имеет возможность загружать / передавать их в потоковом режиме. Нужно ли что-то делать с передачей двоичных данных с помощью сокетов или я совершенно не прав?Если я не прав, нужно ли мне использовать что-то еще, например, средства чтения файлов, и каким-то образом использовать их поверх сокетов?
Вторая часть моего вопроса: когда я передаю эту информацию клиенту, как я могузаставить клиента показывать соответствующие значки для видео, папок, mp3 и т. д.?Я думаю, что если мне придется передавать двоичные данные, мне придется использовать эти данные, чтобы каким-то образом заполнить клиентский графический интерфейс правильными значками / данными.Я застрял на том, как именно справиться с этим.Существуют ли определенные методы / классы, которые я могу использовать, чтобы проанализировать эти данные и сделать то, что я хочу с ними сделать?Опять же, я не знаю, ошибаюсь ли я в необходимости передачи двоичных данных, но в любом случае я запутался в том, что необходимо для этого сделать.
Я прошу прощения, если какая-либо из моих терминов неверна.Я, очевидно, еще не эксперт в C #;)