|
21 / 21 / 3
Регистрация: 29.04.2012
Сообщений: 214
|
|
Клиент-сервер21.05.2012, 22:43. Показов 4552. Ответов 12
Метки нет (Все метки)
Добрый вечер.
Моя цель - реализовать клиент-серверную программу, использующую сокеты для соединения. КЛиент при запуске открывает определенный порт иожидает входящего соединения. Сервер соединяется с клиентом и передает ему имя файла, который должен быть удален. Подскажите просто какую библиотеку почитать, какие функции использвать? ОТ чего отталкиваться? Как запускать? Получается надо создать какой-то виртуальный сервер? Или работать с двух компьютеров?
0
|
|
| 21.05.2012, 22:43 | |
|
Ответы с готовыми решениями:
12
Клиент-Серверное приложение. Как сделать, чтобы сервер сам отправлял сообщения на клиент
Клиент/сервер: клиент посылает серверу слово; определить, является ли это слово палиндромом |
|
365 / 366 / 167
Регистрация: 11.06.2010
Сообщений: 703
|
|
| 21.05.2012, 22:47 | |
|
Крис Касперски "Самоучитель игры на WINSOCK"
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 22.05.2012, 00:04 | |
|
boost::asio.
1
|
|
|
385 / 229 / 12
Регистрация: 06.07.2011
Сообщений: 512
|
|
| 22.05.2012, 00:11 | |
|
см. Qt
0
|
|
|
21 / 21 / 3
Регистрация: 29.04.2012
Сообщений: 214
|
|
| 22.05.2012, 13:00 [ТС] | |
|
Значит лучше использовать синхронные сокеты?
0
|
|
|
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
|
|
| 22.05.2012, 13:19 | |
|
Ilyaa, а я бы SDL_net посоветовал
0
|
|
|
21 / 21 / 3
Регистрация: 29.04.2012
Сообщений: 214
|
|||||||||||
| 23.05.2012, 00:01 [ТС] | |||||||||||
Реализовать программу-клиент. для проверки запустил, пишет ошибку connect function failed with error: WSAENOTSOCK closesocket function failed with error:WSAENOTSOCK Я почитал про эту ошибку. Цитата из msdn "Socket operation on nonsocket. An operation was attempted on something that is not a socket. Either the socket handle parameter did not reference a valid socket, or for select, a member of an fd_set was not valid." Не понимаю почему он ссылается на недействительный сокет? Добавлено через 19 минут
Осталась одна ошибка connect fail WSAECONNREFUSED MSDN "Connection refused. No connection could be made because the target computer actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host—that is, one with no server application running." Неправильно ъост указан? Не понимаю.
0
|
|||||||||||
|
21 / 21 / 3
Регистрация: 29.04.2012
Сообщений: 214
|
|||||||||||
| 23.05.2012, 01:17 [ТС] | |||||||||||
|
Клиент
у клиента все та же прежняя ошибка connect fail WSAECONNREFUSED у сервера : Скрин прикрепил. Насчет ошибки сервера: MSDN "WSANOTINITIALISED Successful WSAStartup not yet performed. Either the application has not called WSAStartup or WSAStartup failed. The application may be accessing a socket that the current active task does not own (that is, trying to share a socket between tasks), or WSACleanup has been called too many times." Как я мог завалить вызовWSAStartup , если у меня там нет ошибок? Не понимаю. И еще: как надо эти программы запускать? Одновременно; сначала сервер, потом клиент или как?
0
|
|||||||||||
|
21 / 21 / 3
Регистрация: 29.04.2012
Сообщений: 214
|
|
| 23.05.2012, 06:51 [ТС] | |
|
Это ведь отдельные программы, описанные в разных *.cpp файлах? Или в одном?
Добавлено через 6 минут Или может их надо запускать с разных компьютеров? Подойдет один комп, но сервер будет в виртуальной машине, а клиент в "реальной" машине? Добавлено через 4 часа 46 минут только сейчас заметил, что правильно winsock. Дико извиняюсь, невнимательный. Добавлено через 24 минуты Как я понял мне всего лишь надо запустить их с разных компов. Ошибка сервера в том, что он не видит клиента, а клиента - не к чему коннектиться? Аааа, мне жутко интересно как эти две программы грамотно запустить. С виртуальной машиной не вышло (по крайней мере windows xp sp 2 пишет, что ему не хватает msvcr100d, я скачал, а он ругается, что все повреждено) Значит надо два компа с локальной сетью?
0
|
|
|
27 / 27 / 4
Регистрация: 02.11.2010
Сообщений: 370
|
|
| 23.05.2012, 07:42 | |
|
Ilyaa, сначала запускаешь то, что должно принимать инфу. потом то, что должно отправлять. отправлять можно и на 127.0.0.1 : port. Тогда брать инфу надо с этого же порта port на этой же машине. И все. Никаких виртуальных машин и мучений
0
|
|
|
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
|
||
| 23.05.2012, 10:10 | ||
|
Ilyaa, хм... Меня очень заинтересовал Ваш топик, т.к. тема смежная: Отправка от сервера конкретному клиенту
Так а почему сокеты никто не любит? Я имею в виду TClient/ServerSocket? С ними вроде все так просто...
0
|
||
|
21 / 21 / 3
Регистрация: 29.04.2012
Сообщений: 214
|
|||||||||||
| 23.05.2012, 20:58 [ТС] | |||||||||||
|
http://kpnc.opennet.ru/sock.pdf
Без понятия почему никто не любит сокеты) Добавлено через 21 минуту Сервер:
Еще надо усовершенствовать клиент, чтобы он запускался при автозагрузке компьютера и копировал сам себя в системный каталог. Кто-нибудь видит ошибку: почему файл не удаляется?
0
|
|||||||||||
|
21 / 21 / 3
Регистрация: 29.04.2012
Сообщений: 214
|
|
| 25.05.2012, 07:46 [ТС] | |
|
Проблема точно с сервером в функции accept. Но как ее переписать? Записать для socket_s еще одну структуру и прописать порт? А смысл?
Как ее усовершенствовать? Добавлено через 19 минут А еще надо создать сокет, отправлявший от клиента серверу отчет о проделанной раоте (фал удалился или нет). И тут получается у сервера будет recv, клиента - send, но достаточно создать один сокет или как в сервере снова 2 сокета будет?
0
|
|
| 25.05.2012, 07:46 | |
|
Помогаю со студенческими работами здесь
13
Клиент-Сервер Клиент сервер Клиент+Сервер Клиент-сервер Клиент-сервер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|