Привет!
Никак не могу понять, как работать с TCP.
Возьмём в пример первое сообщение темы: http://autoit-script.ru/index.php?topic=2745.0
Таким образом отправили 1 сообщение, а как отправить 2 и более?
По идеи если сокет открыть и не закрывать, то можно отправить/получить сообщения, но тогда становится много открытых соединений (проверял в cmd-> netstat -anb | find "400")
Поясните пожалуйста, как отправить несколько сообщений правильно или скажите где найти эту документацию на TCP...
Никак не могу понять, как работать с TCP.
Возьмём в пример первое сообщение темы: http://autoit-script.ru/index.php?topic=2745.0
lightforever сказал(а):Код клиента:
Код:TCPStartup();Инициировать использование службы TCP $IP = '85.xxx.xx.xx';Указываем адрес к которому будем подключаться (Указываю внешний адрес) $port = 400;Указываем порт к которому будем подключаться $socket = TCPConnect($IP, $port);Указыываем ОС создать сокет, подключенный к указанному адресу $dannie = InputBox('','','');Окно, которое принимает данные для отправки. $rez = TCPSend($socket, $dannie);Отправляем данные на сервер If @error <> 0 Then msgbox(0, "Ошибка", "Не удалось отправить данные на сервер") TCPCloseSocket($socket);Закрываем сокетc TCPShutdown();Завершить использование службы TCP
Код сервера:
Код:TCPStartup();Инициировать использование службы TCP $IP = @IPAddress1;Указываем адрес который будем прослушивать; $port = 400;Указываем порт который будем прослушивать While 1 $socket = TCPListen($IP, $port, 1);Создаем слушающий сокет, по указанному адресу If @error Then ExitLoop;Если не удалось создать сокет, то выйти $Connect = -1 Do $Connect = TCPAccept($socket);Указыываем ОС создать сокет если появилось входящее подключение в прослушиваемом сокете Until $Connect <> -1;Если клиент подключился, то выйти из цикла, если ошибка или никто не подключился, то продолжить цикл While 1 $dannie = TCPRecv($Connect, 2048);Получаем максимум 2048 символов от клиента If @error Then ExitLoop;Если не удалось получить символы, то выйти из цикла If $dannie <> "" Then;Если данные получены, то... MsgBox(0,'Get',$dannie) ExitLoop EndIf Sleep(30) WEnd TCPCloseSocket($socket);Закрываем сокет WEnd TCPShutdown();Завершить использование службы TCP
Таким образом отправили 1 сообщение, а как отправить 2 и более?
По идеи если сокет открыть и не закрывать, то можно отправить/получить сообщения, но тогда становится много открытых соединений (проверял в cmd-> netstat -anb | find "400")
Поясните пожалуйста, как отправить несколько сообщений правильно или скажите где найти эту документацию на TCP...