*:noh* *:nohlsearch* :noh[lsearch] Stop the highlighting for the 'hlsearch' option. It is automatically turned back on when using a search command, or setting the 'hlsearch' option. This command doesn't work in an autocommand, because the highlighting state is saved and restored when executing autocommands |autocmd-searchpat|. Same thing for when invoking a user function.
я нашел его только под :help #
, который я продолжаю поражать все время, и который выделяет все слова на текущей странице как текущая.
Здесь несколько проблем:
StreamReader
имеет буфер 4 КБ и будет пытаться читать как как можно больше при первом вызове ReadLine ()
. В результате у вас могут быть данные в StreamReader, и вы можете перейти в Poll (), когда данных больше нет, потому что они уже были прочитаны. Poll ()
занимает микросекунды. Ожидание 0,02 мс входящих данных, скорее всего, вернет false, если данные не были там до вызова Poll ()
. Если вы просто собираетесь читать строки и хотите тайм-аут и StreamReader
, я сделал бы что-то вроде:
delegate string ReadLineDelegate ();
...
using (NetworkStream networkStream = tcpClient.GetStream()) {
StreamReader reader = new StreamReader(networkStream);
ReadLineDelegate rl = new ReadLineDelegate (reader.ReadLine);
while (true) {
IAsyncResult ares = rl.BeginInvoke (null, null);
if (ares.AsyncWaitHandle.WaitOne (100) == false)
break; // stop after waiting 100ms
string str = rl.EndInvoke (ares);
if (str != null) {
Console.WriteLine ("Received: {0}", str);
send (str);
}
}
}
Прежде чем преследовать призраков, убедитесь, что данные действительно существуют в потоке. Если ВСЕГДА есть данные, мы можем подойти к проблеме, однако, глядя на это логически, кажется, что поток либо обнуляется, либо в нем просто нет данных.