|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Ilya Evseev 2:5020/400 17 Jun 2001 01:13:19 To : All Subject : Re: Примитивный телнет клиент --------------------------------------------------------------------------------
Hi!
> Стоит такая задача сделать примитивный телнет клиент.Возникла трудность
как
> сделать что-бы что-бы из сокета в любое время свободно читались данные и в
то
> же время можно было их туда отправить простым нажатием на клавиатуру.Hи
> getchar,ни scanf тут не подходят,так как они прерывают выполнение
программы и
> ждут нажатий.Hа это время из сокета нельзя ничего считать.
Есть два варианта:
1) использовать многопоточность посредством библиотеки PThreads.
В одном потоке работает процедура, чиатющая с консоли
и пишущая в сокет, а в другом - с сокета на консоль.
2) возможно, посредством ioctl можно сделать ввод с консоли асинхронным,
то есть вызов read(0, &ch, 1) будет возвращать -1, если нажат Ctrl+D,
0, если ничего не нажато и 1, если что-то нажато.
С уважением,
Илья Евсеев
--- ifmail v.2.15dev5
* Origin: UCVT (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/65777fcbe6ed.html, оценка из 5, голосов 10
|