URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7846
[ Назад ]

Исходное сообщение
"Как работать с сетью в TCL?"

Отправлено Taras , 21-Янв-09 22:40 
Как использовать сокеты или другие методы связи в локальной сети в TCL?

Содержание

Сообщения в этом обсуждении
"Как работать с сетью в TCL?"
Отправлено mikra , 23-Янв-09 11:56 
>Как использовать сокеты или другие методы связи в локальной сети в TCL?

Удивительно. А как ты так составил запрос в гугле, что не нашел в первой пятерке результатов документации и примеров?


"Как работать с сетью в TCL?"
Отправлено Taras , 24-Янв-09 20:35 
>Удивительно. А как ты так составил запрос в гугле, что не нашел
>в первой пятерке результатов документации и примеров?

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


"Как работать с сетью в TCL?"
Отправлено Andrey Mitrofanov , 25-Янв-09 12:11 
google + tcl по-русски
~~~
http:/docs/RUS/tcltk/tcl.html#socket%20%F3%E9...

"Как работать с сетью в TCL?"
Отправлено Taras , 07-Фев-09 14:15 
>http:/docs/RUS/tcltk/tcl.html#socket СИНТАКСИС

Спасибо за ссылку!


"Как работать с сетью в TCL?"
Отправлено Andrey Mitrofanov , 07-Фев-09 14:51 
>Спасибо за ссылку!

Пожалуйста.

Это была "рыба", http://google.ru/search?q=%D0%B4%D0%B0&#... "удочка" была в первой строке. [Само]обучение не передаётся вербально или ссылками..


"Как работать с сетью в TCL?"
Отправлено mikra , 26-Янв-09 11:42 
>>Удивительно. А как ты так составил запрос в гугле, что не нашел
>>в первой пятерке результатов документации и примеров?
>
>Я ни одной документации вообще не могу найти на русском. Я язык
>вообще не знаю, но получил задание - нужно осваивать...

Плохо дело. Русские версии все старые и местами неполные. Английские надо читать


"Как работать с сетью в TCL?"
Отправлено Taras , 08-Фев-09 20:23 
>Как использовать сокеты или другие методы связи в локальной сети в TCL?
>

А вот если бы кто сказал теперь как по сети копировать файл, был бы оооочень благодарен.
С сокетами разобрался, сервер-клиент работает. Нашел пример как отправить файл, но как принять - не знаю...

proc Cleanup {in out bytes {error {}}} {
global total
set total $bytes
close $in
сlose $out
if {[string length $error]!= 0} {
# error occurred during the copy
}
}

#### Открыть файл на чтение
set in [open f:/diplom/test.txt]
#### Открыть сетевое соединение
set out [socket 127.0.0.1 9920]
#### Скопировать, по окончании копирования вызвать Cleanup
fcopy $in $out -command [list Cleanup $in $out]
#### Ожидать завершения копирования
vwait total


"Как работать с сетью в TCL?"
Отправлено gaa , 09-Фев-09 12:28 
>А вот если бы кто сказал теперь как по сети копировать файл,
>был бы оооочень благодарен.
>С сокетами разобрался, сервер-клиент работает. Нашел пример как отправить файл, но как
>принять - не знаю...

Мил человек, ну почитай наконец маны, а!
У команды socket есть аргумент -server:
       socket -server command ?options? port
...
SERVER SOCKETS
       If  the  -server option is specified then the new socket will be a server for the port given by port.  Tcl will automatically accept connections
       to the given port.  For each connection Tcl will create a new channel that may be used to communicate with the client.  Tcl then invokes command
       with  three  additional arguments: the name of the new channel, the address, in network address notation, of the client’s host, and the client’s
       port number.


"Как работать с сетью в TCL?"
Отправлено Taras , 09-Фев-09 12:47 
>Мил человек, ну почитай наконец маны, а!
>У команды socket есть аргумент -server:
>       socket -server command ?options? port

Да, сообщения я понял как принять. А файл?


"Как работать с сетью в TCL?"
Отправлено gaa , 09-Фев-09 17:26 
> Да, сообщения я понял как принять. А файл?

Принимай пока сокет не закроется. man 3tcl fileevent, http://wiki.tcl.tk/880.


"Как работать с сетью в TCL?"
Отправлено unit , 11-Июл-13 19:58 
Всем здравствуйте!=) Вот такой вопрос по теме, как при сокетном соединении проследить(на стороне сервера) наличие подсоединения со стороны клиента.
Уже третий день ломаю голову, не могу найти.
.
.
.
set account [socket -server myproc $port]   // так создаю серверный сокет

proc myproc  {sock addr port} {
fconfigure $sock -buffering line
.
.
.
ну т.д.

Как сделать так что бы когда клиента долго нет сервер закрывал сокет???

Буду очень благодарен за любую помощь, хотя бы подсказку, куда копать?:)


"Как работать с сетью в TCL?"
Отправлено unit , 26-Авг-13 12:43 
>[оверквотинг удален]
> set account [socket -server myproc $port]   // так создаю серверный
> сокет
> proc myproc  {sock addr port} {
> fconfigure $sock -buffering line
> .
> .
> .
> ну т.д.
> Как сделать так что бы когда клиента долго нет сервер закрывал сокет???
> Буду очень благодарен за любую помощь, хотя бы подсказку, куда копать?:)

Проблему решил, помогли глобальные переменные=)