Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Чат Добавлено: 17.07.11 10:23  

Автор вопроса:  @lex
Есть простейшая PHP страничка. При обращении ловит текст и пишет в файл:
<form style="display:none" action="index.php" method="get">
Text: <input type="text" name="t" />
<input type="submit" />
</form>

<?php
$fp = fopen('text.txt', 'a');
$text = $_GET["t"];
fwrite($fp, "$text
");
fclose($fp);
?>

Есть желание написать подобие чата, и есть проблема: текстовый файл приходится каждый раз полностью перечитывать. Но и это не самое хреновое. Самое хреновое то, что перечитывать его приходится вручную, либо ставить какой-то бооооольшой интервал, т.к. программа подвисает на долю секунды (не смертельно, но при частом обновлении очень даже заметно). Пробовал и в VB6 (через АПИ, через винсок, через инет трансфер) и в VB.NET - результат тот же.

И собственно вопрос: Возможно ли написать какой-то хитрожопый скриптик аля-сервер, который будет сам сообщать клиенту о новом сообщении? ^^
Я конечно понимаю, что хочу слишком много, но вдруг это все таки возможно.

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 @lex



Вопросов: 14
Ответов: 262
 Профиль | | #1 Добавлено: 17.07.11 10:26
Не знаю зачем мне это, но сделать все таки интересно.
Если нельзя сделать "сервер", то возможно у кого-то какие-то другие идеи есть.

Ответить

Номер ответа: 2
Автор ответа:
 @lex



Вопросов: 14
Ответов: 262
 Профиль | | #2 Добавлено: 17.07.11 16:27
Я вот подумал. В .NET'е же есть такая замечательная штука, как многопоточность.
  1. Dim D As New WebClient
  2. Private Sub Send(ByVal Message As String)
  3.  D.DownloadString("http://xxx.xxx.xx/test.php?t=" & Message)
  4. End Sub
  5. Private Function Read()
  6.  Read = D.DownloadString("xxx.xxx.xxu/test.txt")
  7. End Function

Ну и таймер, который переодически вызывает Read и пишет в текстбокс.
Может кто подсказать, как сделать чтение во втором потоке? И вообще имеет ли смысл.

Ответить

Номер ответа: 3
Автор ответа:
 @lex



Вопросов: 14
Ответов: 262
 Профиль | | #3 Добавлено: 17.07.11 20:43
Все оказалось намного проще, чем я думал. Тему можно закрывать.

Ответить

Номер ответа: 4
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #4 Добавлено: 17.07.11 22:05
Все может оказаться гораздо проще, чем ты думаешь даже сейчас. Стоит лишь освоить базисы дотнета..

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам