Привет всем программерам и не только!(просто хорошим людям :-) Надо написать приложение клиент-сервер, надо писать и то, и другое. Сервер должен принимать от клиентов инфу ф-цией recv, а клиент - слать send'ом. Так вот с клиентом все ясно, а с серваком проблемы. Я не знаю, как организовать для сервера ожидание клиента. По идее, там какие-то сообщения Wind'ы и т.д... Так вот, как мне сделать так, чтобы сервак ждал нового пользователя и запихивал дальнейшую работу с ним в отдельный поток? (и в основном потоке опять ожидал нового пользователя) Если у кого есть идеи... А вообще киньте в меня ссылками про это дело(для новичков в этом) или (идеально!) работающий примерчик на _чистом_ API. :-) Всем большое спасибо за внимание :-) byte
Доброе время суток, byte! Вообще все это делается через сокеты. Для WinApi это файл winsock2.h. Но писать напрямую через него, по-моему, сильно геморройное дело. В инете есть масса свободных библиотек для работы через этот интерфейс, - включай поисковик и ищи.
Ответ отправлен: 22.08.2002, 12:19 Отправитель: Yuri Gordienko
Вопрос № 174
Привет всем программерам и не только!(просто хорошим людям :-) Надо написать приложение клиент-сервер, надо писать и то, и другое. Сервер должен принимать от клиентов инфу ф-цией recv, а клиент - слать send'ом. Так вот с клиентом все ясно, а с серваком проблемы. Я не знаю, как организовать для сервера ожидание клиента. По идее, там какие-то сообщения Wind'ы и т.д... Так вот, как мне сделать так, чтобы сервак ждал нового пользователя и запихивал дальнейшую работу с ним в отдельный поток? (и в основном потоке опять ожидал нового пользователя) Если у кого есть идеи... А вообще киньте в меня ссылками про это дело(для новичков в этом) или (идеально!) работающий примерчик на _чистом_ API. :-) Всем большое спасибо за внимание :-) byte
Добрый день, byte! пример это многовато будет:). Итак тебе нужно создать прослушивающий сокет (socket(), bind(), listen()). Далее запускаешь поток, который реализует следующий код while (bProcess) //или как-то иначе регулируешь сколько твоему серверу работать { //тут заполнение структур всяких if (select(...)) //если есть клиентский сокет { SOCKET s = accept(...); //получить его //действия с полученным сокетом shutdown(s, SD_BOTH); //убиваем сокет closesocket(s); } } вот и весь каркас. Ответ отправлен: 22.08.2002, 10:48 Отправитель: vitya
Вопрос № 175
Привет... Приведите приер как что-нибудь нарисовать на, скажем, CImage в MSVC++ 6.0 ? Что-то не получается... Пришлите исходничек, а?
Приветствую Вас, baldr! а кто таков? В МФЦ такого нету. А если библиотека какая, скажи какая, там посмотрим. Но скорее всего (по названию) надо будет получить из него массив битов (bitmap) и там по простеньким формулкам ставить или снимать битики/байтики. Ответ отправлен: 22.08.2002, 17:04 Отправитель: vitya
Вопрос № 176
> Отвечает Pablo: > В Билдере есть компоеннеты для обработки эксельных документов так ты эти компоненты и используй, только > учти что доступ к свойствам этих компонент нужно произодить через OLE-интерфейс типа IDispatch. Если в тех > компонентах есть экспорт в разные форматы баз данных, то ты можешь экспортировать этот документ, а если нет > то можно эспортировать простым перегоном данных из эклелевского фармата в базу данныз, т.е. чтением > значения из ячейки экселя и записью в ячейку базы данных. в разделе "серверы" я нашел Хсельные компоненты, а как их использовать-то? в свойствах ExcelQueryTable нет имени базы данных, загружаемого файла. Как читать Хсельные данные?
Доброе время суток, вова! Чтож да в Билдере нету хелпа по этому компоненту, но в общем случае тебе нужно узнать свойства и методы Экселных компонентов не в качастве VCL-ного класса, а тех которые сам Excel использет если программирвоать на VBA. Воти их помощью ты и сможешь получить доступ к ячейкам Экселя. Приведлу пример как запустить COM-класс Excel.Application: Variant V = Variant::CreateObject("Excel.Application"); V.OlePropertySet("Visible", true); ShowMessage("Excel has been launched and now is visible"); V.OleFunction("Quit"); V = Unassigned; Здесь сначала содается класс Excel.Application, а затем его свойство Visible устанавливается в состояние true. Думаю, что вот также и с другими COM-классами. Ответ отправлен: 23.08.2002, 22:07 Отправитель: Pablo
Форма отправки вопроса
Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook"
и "Microsoft Outlook Express". В программе The Bat!
подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте,
что в некоторых браузерах могут стоять запреты на открытие других
окон, а также "чрезмерное" кэширование данных,
при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet
Explorer 5.0+ или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.