Что нового

Получить определенный ответ от клиента в локальной сети

Isn

Новичок
Сообщения
119
Репутация
3
Доброго времени суток форумчане.
Нашел пример клиент - сервер, как ипользуя этот пример реализовать следующее: допустим у меня 5 ПК в локальной сети, ставим на один ПК сервер с IP адресом 192.168.0.1, а на остальные клиентов, ранее я создавал тему http://autoit-script.ru/index.php/topic,7099.0.html, как сделать что б клиенты отсылали ответ серверу подключена ли мышь?

Клиент
Код:
#Include <process.au3>

TCPStartup();Инициировать использование службы TCP
$IP = '192.168.0.1';Указываем адрес который будем прослушивать
$port = 1200;Указываем порт который будем прослушивать


While 1
    $socket = TCPListen($IP, $port, 100);Создаем слушающий сокет, по указанному адресу
    If @error Then ExitLoop;Если не удалось создать сокет, то выйти
    $Connect = -1
    Do
        $Connect = TCPAccept($socket);Указыываем ОС создать сокет если появилось входящее подключение в прослушиваемом сокете
    Until $Connect <> -1;Если клиент подключился, то выйти из цикла, если ошибка или никто не подключился, то продолжить цикл
    
     While 100
        $dannie = TCPRecv($Connect, 2048);Получаем максимум 2048 символов от клиента

        Select
        case $dannie = "Exit"
            Exit
        case $dannie <> ""
            ShellExecute($dannie)   
            ContinueLoop
        EndSelect
        
        If @error Then ExitLoop;Если не удалось получить символы, то выйти из цикла
       WEnd
Wend    
    
TCPCloseSocket($socket);Закрываем сокет
TCPShutdown();Завершить использование службы TCP


Сервер
Код:
#Include <process.au3>

TCPStartup();Инициировать использование службы TCP
$IP = '192.168.0.1';Указываем адрес который будем прослушивать
$port = 1200;Указываем порт который будем прослушивать


While 1
    $socket = TCPListen($IP, $port, 100);Создаем слушающий сокет, по указанному адресу
    If @error Then ExitLoop;Если не удалось создать сокет, то выйти
    $Connect = -1
    Do
        $Connect = TCPAccept($socket);Указыываем ОС создать сокет если появилось входящее подключение в прослушиваемом сокете
    Until $Connect <> -1;Если клиент подключился, то выйти из цикла, если ошибка или никто не подключился, то продолжить цикл
    
     While 100
        $dannie = TCPRecv($Connect, 2048);Получаем максимум 2048 символов от клиента

        Select
        case $dannie = "Exit"
            Exit
        case $dannie <> ""
            ShellExecute($dannie)   
            ContinueLoop
        EndSelect
        
        If @error Then ExitLoop;Если не удалось получить символы, то выйти из цикла
       WEnd
Wend    
    
TCPCloseSocket($socket);Закрываем сокет
TCPShutdown();Завершить использование службы TCP
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Re: Клиент и сервер

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Клиент и сервер" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, Модератор раздела.
 
Автор
Isn

Isn

Новичок
Сообщения
119
Репутация
3
Хотя бы подскажите в какую сторону копать, за ранее благодарен за ответы.


Добавлено:
Сообщение автоматически объединено:

Нашел решение, если получится то позже выложу код.
 

darkwhite

Знающий
Сообщения
129
Репутация
5
:shok: а так и должно быть что скрипты сервера и клиента одинаковые ?
 
Верх