|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.03.2011, 09:27 | #1 |
DI HALT RET
Форумчанин
Регистрация: 30.12.2010
Сообщений: 117
|
Проблема с socket и pthread
Здравствуйте уважаемы знатоки. Прошу у вас помощи, т.к. сам уже всю голову сломал.
Есть код на FreeBSD 7.2 (c++): Код:
1. при закоментированном pthread_create (т.к. проверяю только сокет пока что), то в файл выводится только [INFO] Waiting for Connections!, но не могу понять почему не выводится tut nahodimsa, но если закоментить accept, то нормально, зацикленно выводится эта надпись. Не могу понять как влияет на нее accept, если вывод происходит раньше? А также, ну допустим нет у меня вывода tut nahodimsa. В винде (виндовый код вырезан, чтобы не создавать бардак) прога спокойно ждет, когда же к ней подцепятся на accept. Как подцепились выводит yes2. На фришке же компилю, при подключении прога просто закрывается. 2. Убираю accept, и оставляю pthread_create: Код:
Помогите люди добрые, он даже ошибки не выводит. Вообще ничего. Просто не понятно в какую сторону даже ковырять. Последний раз редактировалось Tahoma; 04.03.2011 в 09:33. |
09.03.2011, 10:25 | #2 |
DI HALT RET
Форумчанин
Регистрация: 30.12.2010
Сообщений: 117
|
Ещё блин при fwrite также progname.core создает и вылетает, хотя fopen нормально отрабатывает и создает файл.
Вообще не в понятках, что за фигня такая. Ещё если выводить текст через printf, то нормально выводит, но если запустить прогу: ./progname > 1.txt то уже ничего не записывает. Самое интересное, что если открываемый порт уже занят, т.е. выдается ошибка сокета, то и fwrite робит и: ./progname > 1.txt Разобрался и с сокетами и с записью файлов. По записи: freebsd очень придирчиво к файловым потокам, т.е. после записи надо правильно закрыть (fclose). Мелочь вроде бы всем известная, но блин упустил как то. По сокетам: нашел материлов до кучи, а внимания особого не обратил, т.к. не знал что сокеты могут быть и заблокированными. Т.е. у меня прога тупо зависала на recv, и зависала даже быстрее, чем надпись выводилась на экран. По этому надпись tut nahodimsa не появлялась (см. 1 пост). p.s.: думаю может кому пригодятся в жизни решение таких проблем, по этому и отписался. p.s.s: с pthread пока разбираюсь Последний раз редактировалось Tahoma; 09.03.2011 в 12:28. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Socket.SendText проблема | SwiP | Работа с сетью в Delphi | 11 | 19.03.2012 13:36 |
Приложения с pthread | Stenly | Общие вопросы C/C++ | 4 | 18.11.2010 20:27 |
Socket | Djem1991 | Работа с сетью в Delphi | 6 | 03.07.2009 23:45 |
socket | Артэс | C/C++ Сетевое программирование | 2 | 22.06.2009 17:22 |
Socket Get | Editor | Работа с сетью в Delphi | 7 | 22.04.2008 05:48 |