Slam!
сокет работает с сокетами, какой ещё диск?
Когда байты в сокет прилетают, куда они идут?
Tishka17
Когда байты в сокет прилетают, куда они идут?
в сетевой буфер ядра в оперативной памяти
Slam!
Имею ввиду, когда буфер ещё не наполнился
Slam!
А, всё
Tishka17
когда буфер наполнился, у тебя send зависает
Tishka17
а пока не заполнился - все в него
Slam!
когда буфер наполнился, у тебя send зависает
А управление у принимающего возвращается
Tishka17
sendfile нужен чтобы ты в прогу не перегонял данные, а ядро само их на своем уровне гоняло
Tishka17
А управление у принимающего возвращается
при синхронных сокетах - нет
Tishka17
елси не путаю
Slam!
при синхронных сокетах - нет
Так это для них конструкция if not data?
Tishka17
Это для определения конца
Tishka17
Ты зачем вообще sendfile взял?
Slam!
Потому что когда есть коннект, то скрипт в месте получения байтов из сокета либо работает и из буфера что-то возвращается, либо блокируется, пока буфер не заполнится
Slam!
Я за все время работы с сокетами ни разу не видел, как код залетал в это условие
Slam!
А как ты определяешь что больше нечего читать?
В хедерах TCP флаг есть, в котором номер сегмента, если пакет жирный
Tishka17
Чо?
Tishka17
Какие ещё хэдеры tcp?
Slam!
Какие ещё хэдеры tcp?
Бля, заголовки
Danil
а соре, думал общий вопрос
Slam!
Флаг SYN
Tishka17
Чо
Danil
Парень мб на сях пишет?
Tishka17
Бля, заголовки
Что за заголовки в тцп?
Tishka17
Парень мб на сях пишет?
Кажется, он пока плавает, а не пишет
Tishka17
Флаг SYN
Это тут при чем?
Slam!
Это тут при чем?
А, не, флаг SN
Tishka17
А, не, флаг SN
что ты несешь?
Dogma
А, не, флаг SN
Флаг этот в анус тебе нужен
Alex
@Tishka17 зачем я это прочитал
Alex
что за пиздец у этого чувака в голове
Alex
совсем долбоеб?
Tishka17
ну зачем вы так, он просто не понимает ещё ничего
Tishka17
научится
Alex
рандомный набор слов ей богу
Tishka17
как только перестанет делать херню, а будет читать уже что-то по теме
Dogma
Tishka17
2 год подряд
видимо до сокетов только добрался
Alex
@spooti у тебя там http или нет?
Slam!
А как ты определяешь что больше нечего читать?
Мне стало интересно, как библиотека определяет, что передача пакета, разделенного на несколько сегментов, завершена
Slam!
socket
Alex
socket
никак не определяет
Alex
это вообще работает на уровне ядра
Slam!
когда recv 0 возвращает
Так вот и спрашиваю, откуда он знает, когда возвращать 0
Alex
в какой момент мы на TCP перешли?
Tishka17
.
не путай человека. Он, кажется, не понимает что спрашивает
Danil
в момент когда сокет закрылся
Danil
поддержу тред
Slam!
когда сокет закрылся
А не вываливается экзепшн?
Tishka17
А не вываливается экзепшн?
да открой документацию
Slam!
Когда сокет открыт, а сервер вдруг закрывает сокет
Danil
Danil
вот тебе про tcp/ip
Slam!
👍
Tishka17
Когда сокет открыт, а сервер вдруг закрывает сокет
https://www.opennet.ru/man.shtml?topic=recv&category=2&russian=2 These calls return the number of bytes received, or -1 if an error occurred. The return value will be 0 when the peer has performed an orderly shutdown.
Alex
я вообще не понял нахуй он в сокеты полез, если речь про HTTP была?
Tishka17
я?
Tishka17
ты начал про sendfile
Danil
Slam!
ты начал про sendfile
Хорошо же общались
Tishka17
я так и не понял зачем ты его взял
Alex
который в случае c получением данных по http ну вот вообще не работает
Alex
верней может работать лишь в одном частном случае
Alex
да, в http у тебя индикатором конца пакета далеко не всегда является закрытие соединения.