Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Alex Semenyaka                       2:461/64       02 Jul 2004  00:13:27
 To : eugen@grosbein.pp.ru
 Subject : a la "tail -f"
 -------------------------------------------------------------------------------- 
 
 [24 Jun 04 12:24], Eugene Grosbein (2:5006/1) -> Alexey Shebeko:
 
  AS>> Hо ведь в Unix сокетах, даже типа DGRAM, чтобы отправить
  AS>> сообщение надо знать удаленный адрес -  sendto(int s, const void
  AS>> *msg, size_t len, int flags,const struct sockaddr *to, socklen_t
  AS>> tolen); Если бы было возможно просто писать в локальный сокет, а
  AS>> кто хотел читал бы оттуда.
  EG> С Unix-сокетами тима STREAM можно работать через write() и read().
 
 Чтобы это делать тебе всё равно нужен удалённый адрес - для connect() (кстати,
 никто не мешает connect() сделать и для DGRAM). Правильный ответ - удалённый
 адрес в данном случае является собственно тем самым UNIX Domain сокетом, то есть
 путём на файловой системе. Пишущий bind'ится на этот адрес и пишет, а читающие -
 читают.
 
 Проблема в том, что пишущий-то просто пишет в локальный сокет, и заbindится туда
 может несколько процессов, только вот данные получит только тот, который сделал 
 bind() последним. А если не слушает никто - то и записать, AFAIR, не получится.
 
                                                      SY, Alex
 --- IMHO в последней инстанции
  * Origin: Show must go on... and off. (2:461/64)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: a la "tail -f"   Eugene Grosbein   24 Jun 2004 12:24:14 
 a la "tail -f"   Alex Semenyaka   02 Jul 2004 00:13:27 
Архивное /ru.unix.bsd/144340e4a91f.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional