Передача файлов через интеренет |
Здравствуйте, гость ( Вход | Регистрация )
Передача файлов через интеренет |
RazrFalcon |
4.7.2010, 15:57
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Не сталкивался еще с интернетом в программировании и в этом полный 0.
1) как передать файл через интернет на другой комп 2) как сделать что-то на подобии network-chat из примеров, только для интернета 3) грубо говоря что-то типа Skype/ICQ только в меньших масштабах, только передача сообщений и файлов PS с чего начать и где можно посмотреть примеры |
|
|
Алексей1153 |
15.8.2010, 18:41
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
включение слушалки когда сокет-сервер создаётся, он инертен, сам по себе он ничего ещё не делает. Когда вызывается listen() , сервер начинает слушать входящие запросы на соединение от клиентов. Причём, обратной дороги нет - он будет слушать до талого снега! Если только не пересоздать хендл сокета в системе (по крайней мере так в винде). В студии я делал это через close()/create() сокета сервера, а в Qt это не прокатит, как так пАрные сокеты убьются. Тут, наверное, достаточно вызвать setMaxPendingConnections(0) для отключения слушалки совсем. Хотя, не проверял, что при этом произойдёт )) delete m_pServer; - такую запись никогда не встречал. это всего лишь оператор C++ , возвращает в кучу память, выделенную под объект оператором new. В библиотеке Qt есть расслабуха - если класс произведён от QObject и имеет родителя, то delete автоматом вызывается для объекта. Но иногда удалить объект надо не затрагивая родитель. if(!m_pServer)return; - на что проверка?! булево выражение (!X) эквивалентно (X==0) m_pPeer__=0; - что это делает обнуляет указатель m_pPeer__. Странный вопрос... я так понял читает только 100 байт? И это только текст. производится попытка чтения из приёмного буфера сокета максимум 100 байтов за раз - да Это количество зависит от задачи, для данного примера сойдёт и константа 100 )) ну и последние, передачу файлов еще ты не писал, по крайней мере я не нашел. так я сделал передачу строки - не нашёл что ли ? А строка - это набор байтов. А файл тоже. Но большие объёмы данных могут потребовать спец-приёмов при передаче - это когда столкнёшься, сам увидишь, пока передавай всё разом ) Как потоковое видео приделать, я не знаю, но суть такая же - передаётся часть видеопотока, потом эта часть проигрывается, а в это время качается очередная часть |
|
|
RazrFalcon |
15.8.2010, 19:36
Сообщение
#3
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
обнуляет указатель m_pPeer__. Странный вопрос... То есть количество пиров становится 0, отключаем клиентов как я понял. Я имел ввиду логику выражения, то что обнуляем я понял, не понял что.Цитата так я сделал передачу строки - не нашёл что ли ? Ну строку то я нашел, но думал она строго на текст, теперь разобрался.Еще раз спасибо, буду прикручивать сюда что хотел, потом выложу готовый вариант. |
|
|
Текстовая версия | Сейчас: 1.11.2024, 4:32 |