Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства для  версии 10.9 Mac OS X

Если Вы выполняете различную версию  Mac OS X, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



fblocked(n)                                 Tcl Built-In Commands                                fblocked(n)



____________________________________________________________________________________________________________

NAME
       fblocked - Test whether the last input operation exhausted all available input

SYNOPSIS
       fblocked channelId
____________________________________________________________________________________________________________


DESCRIPTION
       The fblocked command returns 1 if the most recent input operation on channelId returned less informa-tion information
       tion than requested because all available input was exhausted.  For example, if gets is invoked  when
       there  are  only  three  characters  available for input and no end-of-line sequence, gets returns an
       empty string and a subsequent call to fblocked will return 1.

       ChannelId must be an identifier for an open channel such as a Tcl standard channel (stdin, stdout, or
       stderr),  the  return value from an invocation of open or socket, or the result of a channel creation
       command provided by a Tcl extension.

EXAMPLE
       The fblocked command is particularly useful when writing network servers, as it allows you  to  write
       your code in a line-by-line style without preventing the servicing of other connections.  This can be
       seen in this simple echo-service:

              # This is called whenever a new client connects to the server
              proc connect {chan host port} {
                  set clientName [format <%s:%d> $host $port]
                  puts "connection from $clientName"
                  fconfigure $chan -blocking 0 -buffering line
                  fileevent $chan readable [list echoLine $chan $clientName]
              }

              # This is called whenever either at least one byte of input
              # data is available, or the channel was closed by the client.
              proc echoLine {chan clientName} {
                  gets $chan line
                  if {[eof $chan]} {
                      puts "finishing connection from $clientName"
                      close $chan
                  } elseif {![fblocked $chan]} {
                      # Didn't block waiting for end-of-line
                      puts "$clientName - $line"
                      puts $chan $line
                  }
              }

              # Create the server socket and enter the event-loop to wait
              # for incoming connections...
              socket -server connect 12345
              vwait forever


SEE ALSO
       gets(n), open(n), read(n), socket(n), Tcl_StandardChannels(3)


KEYWORDS
       blocking, nonblocking



Tcl                                                  7.5                                         fblocked(n)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации к проекту Tcl.
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API к Apple через Генератор отчетов Ошибки и к проекту Tcl через их страницу создания отчетов ошибки.
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.