Что нового

[Сеть, интернет] Считать из файла построчно и пропинговать

volaxus

Новичок
Сообщения
5
Репутация
0
Есть код:
Код:
#include <File.au3>
$sIp = InputBox('Input IP address and port', 'Input IP-address and port through ":" ')
TCPStartup()
$aIp = StringSplit($sIp, ':')
$socket = TCPConnect($aIp[1], $aIp[2])
$LogFile = @ScriptDir & "/Log.txt"
If @error Then
   MsgBox(16, 'Error', 'Connection is not established!')
   FileWrite($LogFile, $sIp & " — " & "Connection is not established!")
   FileWrite($LogFile, @CRLF)
   If Not FileExists($LogFile) Then _FileCreate($LogFile)
Else
    MsgBox(64, 'Done', 'Connection accepted!')
    TCPCloseSocket($socket)
EndIf
TCPShutdown()

, который после ручного ввода проверяет доступность узла по IP:порт и , если узел недоступен, записывает в log.txt
В итоге понадобилось, чтобы заданные значения брались из файла, к примеру address.txt ( их там может быть очень много, расположены построчно (в столбик) и вид у них 11.11.11.11:4545), и , собственно, каждый проверялся на доступность и записывался (недоступный) в log.txt.
Делала через
Код:
_FileCountLines
и через
Код:
FileReadLine
, только постоянная ошибка в нехватке переменных.

Куда копать?
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
FileReadToArray

читаешь файл в массив, перебираешь массив и пингуешь и собираешь ошибочные адреса в строку с символами переноса. закончил цикл проверки - записал в файл


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

volaxus [?]
только постоянная ошибка в нехватке переменных.
всякая функция возвращает ошибку(или нуль), если нет данных для обработки. значит нужно учитывать что может быть ошибка и предложить другое действие. это я к общему сведению :smile:
 

hedji

Продвинутый
Сообщения
409
Репутация
94
Код:
$addresses = FileReadToArray(@ScriptDir & "/addres.txt")
For $sIp In $addresses
	$aIp = StringSplit($sIp, ':') ;и далее остальной скрипт
Next
 
Верх