![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| HP-UX HP-UX (Hewlett Packard UNIX) является Hewlett-Packard Собственная реализации на Unix операционной системы, основанной на System V. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Проблема с сокетом чтении | swap007 | UNIX перспективных И опытных пользователей | 2 | 05-21-2008 02:08 AM |
| HTTP Keep-Alive розетка проблемы | imdupeng | Программирования высокого уровня | 0 | 03-29-2008 09:11 PM |
| Розетка связи, но не письменно | madfox | Программирования высокого уровня | 2 | 12-04-2007 03:44 PM |
| Ошибка при подключении к Socket | Stevhp | Программирования высокого уровня | 6 | 04-30-2007 08:27 PM |
| Socket Проблема | Agent007 | Программирования высокого уровня | 3 | 04-03-2004 09:15 PM |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
||||
|
Наша система имеет один сервер и несколько клиентов. Мы мониторинга клиента FDS помощью выбора (), который в HP-UX.
После установления соединения с использованием сокета с удаленным клиентом, прежде чем начать передачу данных, мы проверяем состояние розетку с помощью выбора () слово. Для первых 16 клиентов в выборе () Звонок разблокировали и FD_ISSET () возвращает успех. Но с 17-го года клиент, то выберите () является разблокирован и FD_ISSET () не RETURNING успех (он возвращается отрицательное значение), как в HP-UX 11 и 11i. Но та же самая логика хорошо работает до 1024 клиентов в Solaris, AIX, Linux. Исходный код упоминается ниже, Пожалуйста, расскажите о том, как исправить эту проблему. fd_set Writefds; структуры timeval Timeout; INT RetCode; INT RetValue; INT SockDesc; структуры sockaddr_in клиента; символ BulkData [5000] \u003d "Признание"; INT retVal; INT clientlen \u003d sizeof (структуры sockaddr_in); client.sin_family \u003d AF_INET; client.sin_addr.s_addr \u003d INADDR_ANY; client.sin_port \u003d htons (SERVER_PORT); SockDesc \u003d розетка (AF_INET, SOCK_STREAM, 0); соединения (SockDesc, И клиент, (socklen_t) clientlen); Timeout.tv_sec \u003d 0; Timeout.tv_usec \u003d 0; FD_ZERO (И Writefds); FD_SET (SockDesc, И Writefds); RetCode \u003d выберите (0, NULL, И Writefds, NULL, И Timeout); если (RetCode> 0) ( retVal \u003d FD_ISSET (SockDesc, И Writefds); если (retVal> 0) ( Отправить (SockDesc, szBulkData, (size_t) sizeof (szBulkData), 0); ) еще ( printf ( "FD_ISSET это не удалось:% D \ N", retVal); ) ) остальное, если (RetCode \u003d\u003d -1) ( printf ( "выбор вернуться Ошибка:% D \ N", errno); ) остальное, если (RetCode \u003d\u003d 0) ( printf ( "выбор вернуться 0 [тайм произошло]. \ N"); ) |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|