![]() |
|
Модераторы: xvr |
![]()
|
|
| redwhite90 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
не понимаю почему не передаётся файл
сервер:
клиент
и не понятно как это отладить можно...fork не создаёт дочерний процесс или мне в него не залезть при отладке.... Это сообщение отредактировал(а) redwhite90 - 12.12.2011, 00:50 |
||||
|
|||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
зачем вообще ты его использовал? оО Добавлено через 2 минуты и 2 секунды опиши, что не так с кодом? влом компилить. |
|||
|
||||
| redwhite90 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
чтобы разделить процесс соединения и процесс работы с клиентом. до этого передавал в противоположную сторону(клиент=> сервер) работало. а сейчас файлик создаётся, но так пустым и остаётся |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
ну так fork тут не единственный способ. при том, ниразу не переносимый. какой смысл писать одноразовый код? банальный способ - каждого клиента в отдельный поток. по лучше способ - неблокируюший ввод-вывод и пул потоков. самый разумный, использовать что-то вроде boost.asio. ### %) мне что, догадываться нужно? опиши же нормально, до куда выполняется, значения отправленные/принятые, и т.д.. |
|||
|
||||
| svlary |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 8.9.2009 Репутация: 4 Всего: 4 |
В том коде, который Вы приложили, есть много непонятного... Например :
Эти строки где-то инициализируются ? Открывая файл
Вы не проверяете - а открылся ли он ? Если нет, то на принимающей стороне как раз и образуется пустой файл...
А зачем отладчик тут ? Вставьте печать сообщения после case 0: типа cout<<"fork started!"<<endl; |
||||||
|
|||||||
| redwhite90 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
Да, это косяк...исправил добавлением
только теперь очень непонятное что-то присходит. Когда запускаю сервер из code::blocks, а клиент из терминала(запуском исполняемого файла из bin/debug) всё работает, и файл записывается... Когда запускаю оба из терминала, то файл образуется, но пустой.... с чем это может быть связано не понятно. Это сообщение отредактировал(а) redwhite90 - 12.12.2011, 12:24 |
|||
|
||||
| svlary |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 8.9.2009 Репутация: 4 Всего: 4 |
||||
|
||||
| redwhite90 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
boostcoder, задача состоит в знакомстве именно с линуксовыми функциями.(хоть и одноразовый код)
очень похоже, что файл(отправляемый) вообще не открывается.потому, что стоят ауты буфера, и ничего не видно. Добавлено через 1 минуту и 14 секунд мне кажется, что когда я запуская исполняемый файл и проект в code::blocks исходный файл ищется в разных местах |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
BSD sockets - это стандарт. мне не известны архитектуры где бы они не поддерживались. а использование fork делает твой код не переносимым на win платформы. да технология process-per-session стара как какашка динозавра. |
|||
|
||||
| redwhite90 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
сейчас проверил. при запуске из терминала не открывается ни передаваемый файл, ни config.
права доступа врятли разные у терминала и code::blocks Добавлено через 7 минут и 20 секунд boostcoder, очевидно, что не в fork дело. *хоть раз в жизни его поиспользую) |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
||||
|
||||
| redwhite90 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
XVR, да в этом проблема была....спс
Добавлено через 23 секунды XVR, да в этом проблема была....спс Добавлено через 24 секунды XVR, да в этом проблема была....спс |
|||
|
||||
| svlary |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 8.9.2009 Репутация: 4 Всего: 4 |
И слава Богу ! Большей глупости, чем ПЕРЕНОСИМЫЕ программные системы не мог придумать даже Билл Гейтс!
Колесо изобрели еще раньше ! Вы предлагает всем ездить на деревянных велосипедах с треугольными колесами ? Кстати, не обязательно говорить о СЕССИИИ. Например, в Апаче процессы создаются под ЗАПРОС а вовсе не под сессию. Просто потому, что HTTP не разумеет понятия "сессия". И ничего - до сих пор остается самым популярным HTTP сервером в мире... |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
svlary, к чему этот бред? прорвало?
|
|||
|
||||
| newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: нет Всего: 19 |
Дык мс офис на маках есть. А линукс никому не нужен, вот и офиса на нем нет!
-------------------- You're face to face With man who sold the world |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |