<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Передача данных через общую папку в локальной сети]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=10096&amp;type=atom" />
	<updated>2014-11-04T20:12:04Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=10096</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=88016#p88016" />
			<content type="html"><![CDATA[<p>ifExit уже который раз пишете...<br />А если есть возможность пользоваться AHK, почему бы не установить какой-нибудь минималистичный чат?</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2014-11-04T20:12:04Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=88016#p88016</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=88006#p88006" />
			<content type="html"><![CDATA[<p>Добавление на 2 общей папки как диск,&nbsp; не помогло.</p><p> Но корень проблемы найден. Не знаю по каким причинам, но мешало своевременному обнаружению или чтению файла его удаление или перемещение на 2. Когда поставил его удаление из 1 всё заработало стабильно. </p><p> Пока не знаю как согласовать действия по удалению из 1 после прочтения из 2 не пересылая данные назад, но это уже другой вопрос.</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-11-04T15:55:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=88006#p88006</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87995#p87995" />
			<content type="html"><![CDATA[<p>Ещё раз обращаюсь к местным знатокам вот с такими уточнениями.<br />1.&nbsp; Общая папка создана на компьютере 1.<br />2. Отсылать информацию нужно с 1 на 2.<br />3. Как только я на 1 в проводнике или из FileAppend создаю файл, он практически мгновенно отображается в проводнике на 2. Это значит, что информация передаётся своевременно и второй компьтер видит эти файлы СРАЗУ.<br />4. Код из #11 на втором компьютере видит эти изменения сразу.<br />&nbsp; &nbsp; Почему ifExit и FileRead там же не видят того же самого в течение 1-5 секунд?</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-11-04T14:47:19Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87995#p87995</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87994#p87994" />
			<content type="html"><![CDATA[<p>В AHKSock разобраться не удалось. Вопрос по прежнему открыт.</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-11-04T14:33:27Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87994#p87994</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87974#p87974" />
			<content type="html"><![CDATA[<p>Вариант с &quot;обнаружителем&quot; из #11 так и не смог приспособить. Если оттуда отсылать нажатие клавиш в отдельный скрипт, этот отдельный скрипт читает с такими же задержками, как и без этой хитрости. Читать изнутри цикла не получается: то срабатывает мгновенно, то вообще пропускает, половина команд не срабатывает.</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-11-03T20:23:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87974#p87974</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87958#p87958" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Irbis пишет:</cite><blockquote><p>Можно в сторону этой темы обратить внимание - <a href="http://www.autohotkey.com/board/topic/53827-ahksock-a-simple-ahk-implementation-of-winsock-tcpip/"> AHKSock</a>.<br />Как говорит автор, работоспособность проверялась и через LAN, и через интернет.</p></blockquote></div><p>&nbsp; Спасибо, попробую хоть что-то там понять.</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-11-03T17:48:39Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87958#p87958</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87952#p87952" />
			<content type="html"><![CDATA[<p>Можно в сторону этой темы обратить внимание - <a href="http://www.autohotkey.com/board/topic/53827-ahksock-a-simple-ahk-implementation-of-winsock-tcpip/"> AHKSock</a>.<br />Как говорит автор, работоспособность проверялась и через LAN, и через интернет.</p>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2014-11-03T15:21:39Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87952#p87952</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87950#p87950" />
			<content type="html"><![CDATA[<p>Можно попробовать подключить общую папку как диск.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2014-11-03T15:03:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87950#p87950</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87949#p87949" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Сам по себе FileRead работает с такими же задержками как и ifExit.</p></blockquote></div><p>Тогда всё печальнее. Где-то на локальной сети слабое место, которое тормозит трафик. Перегруженный роутер или какой коммутатор с &quot;поплывшими мозгами&quot;. Или тот компьютер, на котором создаётся файл, перегружен.</p></blockquote></div><p>&nbsp; Ещё интереснее. Я на втором компе вижу появление нового файла в проводнике практически сразу же. А скрипт его может обнаруживать как сразу же, так и через любой промежуток времени до четырёх секунд.</p><br /><p>FileRead, если работает тот код, который приведен&nbsp; выше, из поста 21 другой темы, срабатывает, насколько я понял, почти мгновенно. Не знаю как происходит эта &quot;инициализация&quot; системы, но это происходит.</p><p>&nbsp; Пока скрипт тестирования не идеален, но похоже что всё именно так.</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-11-03T14:39:56Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87949#p87949</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87947#p87947" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Я не уверен, что при частых чтениях FileRead не случится такое, что прочитается часть из необходимого текста пока файл ещё пишется.</p></blockquote></div><p>По идее, пока файл пишется, он недоступен для чтения. Об этом подскажет ErrorLevel.</p><div class="quotebox"><blockquote><p>Сам по себе FileRead работает с такими же задержками как и ifExit.</p></blockquote></div><p>Тогда всё печальнее. Где-то на локальной сети слабое место, которое тормозит трафик. Перегруженный роутер или какой коммутатор с &quot;поплывшими мозгами&quot;. Или тот компьютер, на котором создаётся файл, перегружен.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2014-11-03T13:57:40Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87947#p87947</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87945#p87945" />
			<content type="html"><![CDATA[<p>Сам по себе FileRead работает с такими же задержками как и ifExit. А в сочетании с вышеприложенным кодом пока нормально наладить не получилось.</p><p> И ещё. Я не уверен, что при частых чтениях FileRead не случится такое, что прочитается часть из необходимого текста пока файл ещё пишется. Этого категорически хотелось бы избежать. Есть надежда, что проверка наличия с последующим чтением увеличивает временной интервал настолько, что шанс попасть в описанную ситуацию значительно уменьшается. Не знаю насколько ситуация отличается от моих представлений о ней.</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-11-03T11:39:42Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87945#p87945</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87943#p87943" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Foma пишет:</cite><blockquote><p>я не знаю как можно обновить файл не удаляя его, кроме как дописывая через FileAppend. Не хочется увеличивать объём файла и время его чтения. А разве можно как-то иначе его менять? И будет ли при этом способе обнаруживаться изменения быстрее, чем обнаруживается само наличие файла?</p></blockquote></div><p>Вообще-то менять только так и можно - удалить старый, затем записать новый с таким же именем. Суть моего предложения - не проверять существование файла. Просто периодически выполняйте <em>FileRead</em> и проверяйте ErrorLevel.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2014-11-03T11:32:17Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87943#p87943</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87942#p87942" />
			<content type="html"><![CDATA[<p>Сейчас просто при обнаружении изменений отправляю сочетание клавиш, на которое реагирует другой скрипт, который пытается читать обнаруженный файл. И он его не читает, поскольку не видит, как и раньше.<br />&nbsp; &nbsp;Что можно сделать?</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-11-03T11:00:41Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87942#p87942</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87941#p87941" />
			<content type="html"><![CDATA[<p>Не могу разобраться с<br /></p><div class="codebox"><pre><code>dir =  ; указать директорию для мониторинга без кавычек
 
OnExit, Exit
 
Script =
(
   #NoTrayIcon
   dir = %dir%
   FILE_NOTIFY_CHANGE_FILE_NAME :=  1            ; любые изменения связанные с именами файлов
   INFINITE                     := -1            ; неограниченное время ожидания
    
   x:=DllCall(&quot;FindFirstChangeNotification&quot; . (A_IsUnicode ? &quot;W&quot; : &quot;A&quot;)
      , &quot;str&quot;, dir, &quot;int&quot;, 0, &quot;int&quot;, FILE_NOTIFY_CHANGE_FILE_NAME, &quot;Cdecl int&quot;)
   while DllCall(&quot;WaitForSingleObject&quot;, &quot;int&quot;, x, &quot;int&quot;, INFINITE, &quot;Cdecl int&quot;) = 0
   {
      MsgBox 4, , Был создан, удалён или переименован какой-то файл``nВы хотите продолжить мониторинг?
      IfMsgBox, No, break
      DllCall(&quot;FindNextChangeNotification&quot;, &quot;int&quot;, x, &quot;Cdecl int&quot;)
   }
   x:=DllCall(&quot;FindCloseChangeNotification&quot;, &quot;int&quot;, x)
)
 
FileDelete, %A_Temp%\Viewer.ahk
FileAppend, % Script, %A_Temp%\Viewer.ahk, % A_IsUnicode ? &quot;UTF-8&quot; : &quot;&quot;
Run, &quot;%A_AhkPath%&quot; &quot;%A_Temp%\Viewer.ahk&quot;,,, PID
Return
 
Exit:
   FileDelete, %A_Temp%\Viewer.ahk
   Process, Close, %PID%
   ExitApp
 
F11:: ExitApp</code></pre></div><p>.<br />&nbsp; Есть у кого-то мысли, как можно наладить с помощью этого метода мониторинг папки или файла?</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-11-03T10:09:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87941#p87941</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Передача данных через общую папку в локальной сети]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=87921#p87921" />
			<content type="html"><![CDATA[<p>Тест показал, что скрипт работает без задержек. По крайней мере на глаз они абсолютно не заметны. Точнее отследить не удалось, поскольку многие команды просто не срабатывают внутри этого кода:<br /></p><div class="codebox"><pre><code>while DllCall(&quot;WaitForSingleObject&quot;, &quot;int&quot;, x, &quot;int&quot;, INFINITE, &quot;Cdecl int&quot;) = 0
    {
    Time := A_TickCount - mem
    mem := A_TickCount
    FileAppend,%Time%`n,2.txt
    FileDelete,общая папка\1.txt    
    ToolTip,: %A_TickCount%

    DllCall(&quot;FindNextChangeNotification&quot;, &quot;int&quot;, x, &quot;Cdecl int&quot;)
    }</code></pre></div><p>Запись не производится, ToolTip выводится, но всё время с одним и тем же значением - первоначальным.&nbsp; Как это можно исправить? </p><p>&nbsp; И gosub тоже не работает.</p>]]></content>
			<author>
				<name><![CDATA[Foma]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31521</uri>
			</author>
			<updated>2014-11-02T09:14:16Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=87921#p87921</id>
		</entry>
</feed>
