anonymous@RULINUX.NET~# | Last login: 2024-11-05 10:50:33 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - Development | [RSS] |
Надо же разбавить сие болото.
Вот, допустим, у меня есть такой код (упрощённый):
SystemV(*) (2016-03-11 14:54:32)
Mozilla/5.0 (X11; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0
|
|
|
Скрыть
Re:CL, usocket и timeoutХочется обойтись read-line ради простоты кода, конечно. |
Скрыть
Re:CL, usocket и timeoutкогда соединение хитрым образом рвётся - надо использовать TCP Keepalive anonymous(*)(2016-03-11 17:12:11)
Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0 |
Скрыть
Re:CL, usocket и timeoutЩас постараюсь ответить, как я делал. usocket говно, кстати, лучше iolib |
Скрыть
Re:CL, usocket и timeoutА вот хуй я сам знаю! А лучше напиши автору, как сделать read-line с таймаутом. Может подскажет https://github.com/sionescu/iolib У себя я делал с помощью receive-from в массив октетов, с последующим преобразованием в строку и с I/O multiplexer'ом, где можно и таймаут обработать. Vasily(*)(2016-03-11 21:52:17)
Отредактировано Vasily по причине "не указана" Mozilla/5.0 (X11; FreeBSD amd64; rv:40.0) Gecko/20100101 Firefox/40.0 |
Скрыть
Re:CL, usocket и timeoutСпасибо. Наверное сразу надо было в эту сторону смотреть. Впрочем, потом оказалось, что у меня с ABCL и ECL проект не работает даже, ну да и ладно. |
Скрыть
Re:CL, usocket и timeoutС помощью iolib это делается ещё проще: |
Скрыть
Re:CL, usocket и timeout>(setf (sockets:socket-option socket :receive-timeout) n)
|
|
|
|
Этот тред читают 3 пользователя: |
Анонимных: 3 Зарегистрированных: 0 |
Re:CL, usocket и timeout
Я ничего не понимаю в этих скобках, но может сначала считывать данные в буфер, а затем разбирать его на строки? Наверняка есть функция чтения данных с таймаутом.