| 
 | 
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Всем привет! Подскажите пожалуйста  как решить следующую задачу. Есть два блокирующих сокета, один пишет socket.getOutputsream().write() второй читает socket.getInputStream().read() Интернет между компьютерами медленный, данные передаются медленно. Буферы у советов большие. Когда я вызываю write(), я жду что управление вернётся только тогда, когда данные будут отправлены, но управление возвращается раньше. Я пробовал делать flush() после write(), ситуация не поменялась. Как сделать так, чтобы управление возвращалось только после того, как данные отправятся? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 11:24 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Mandarin, Покажите код с блокирующим методом который НЕ РАБОТАЕТ по вашему. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 11:32 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp, Вашими советами я уже сыт из предыдущего своего топика, спасибо :) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 11:38 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Mandarin, Привыкай ходить в общественное место где твои вопросы по java стоят ноль без палочки. Видно же что ты джун 16 лет. Тогда что выпендриваешься? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 11:44 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Mandarin Когда я вызываю write(), я жду что управление вернётся только тогда, когда данные будут отправлены, но управление возвращается ... Хотите закрыть нечётное число своих косяков ещё одним - делайте flush(). ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 11:49 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Поскольку устный пересказ проблемы нам не выглядит убедительным, я-бы предложил все-таки взять макет кода и на нем все это посмотреть. Надо посмотреть где стоит flush. И возможно сделать tcpdump работающего приложения с тонким логгированием всех событий с таймингами по милисекундам. В данном случае Петро прав. Обсуждать можно только что-то материальное. Иначе у нас - философская беседа выходит. Как говорил один финский перец - покажите мне ваш чортов код... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 12:08 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Basil A. Sidorov делайте flush(). Что-то не помню его у IP-стэка... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 14:15 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Он есть в буферизирующих стримах. И если Мандарин обернул сокет этим буфером то конечно надо беспокоиться о том что финал каждого сетевого месседжа завершается флашем. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 14:17 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Dimitry Sibiryakov Что-то не помню его у IP-стэка... На уровне библиотеки ввода-вывода управление этим флагом (если доступно) будет делать flush(), как и для любых других потоков. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 14:25 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Свезь - процесс взаимноглюкавый То, что где-то кто-то посчитал отправленным, на другом конце впосле может быть еще не принятым. Факт отправки, что в стрим, что в стек ОС, что в провод - одно фиолетово. Отправили и отправили, дальше не наше дело. Если нужен факт, что клиент данные точно получил (и обработал), то это должно решаться какими-то другими средствами IMHO ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 14:38 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Mandarin Как сделать так, чтобы управление возвращалось только после того, как данные отправятся? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 15:02 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  По сути - технический спор на уровне что делать Мандарину? - делать сигнальный протокол с коротким временем отклика (типа SNMP) - делать stream-протокол с высокой пропускной способностью Думаю что в топике недостаточно информации. Мандарин должен рассказать что у него поверх сокетов. Rest? Передача файлов? Что у него показывает netstat на обоих концах? Сколько retransmits? Сколько bad segments? Короче какое качество соединения? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 15:11 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей Панфилов Странное утверждение "Не верю" ( C ) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 15:11 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mayton в последнее время показывать код или пытаться воспроизвести проблему с помощью test-case - мовитон так же как и человечиским языком объяснить, что же нужно после прочтения слов "я пробовал делать flush() после write(), ситуация не поменялась" тут же вспоминается "если вдруг открылся люк, не пугайтесь – это глюк" IMHO ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 15:16 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mayton По сути - технический спор на уровне что делать Мандарину? Когда человек научится излагать проблему, а не собственное видЕние решения - можно будет поговорить и более предметно. Хотя, скорее всего, (ему) просто лень аккуратно разбирать поток данных на отдельные сообщения. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 15:21 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mayton По сути - технический спор на уровне что делать Мандарину? Если ТС молчит и не может ничего сказать по своей собственной теме? Это форум не уважать. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 15:46 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Возможно не хочет палить контору. Package names обычно включают организацию. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 16:00 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mayton Возможно не хочет палить контору. Package names обычно включают организацию. У него 6 тем по java и во всех он молчит))))))) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 16:09 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Просто он - Делфист. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 16:15 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mayton адвокат.  Дельфи прогеры в сокет не пишут. Есть протоколы более высокого уровня чтобы переслать xml или заявка.docx. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 16:47 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Да они - вообще кросавчеки. Читаешь их форумы. Тишь да гладь. Толи нет у них проблем. Толи они вообще не решаются обсуждать системообразующие вещи. Всякие там SOLID, Design Patterns. Даже завидую. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 17:23 | 
  
  
  
   | 
||
| 
 
Socket запись в блокирующем режиме. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mayton, Дельфисты? Я сам оттуда. Это уникальный ЯП + либа визуальных компонентов vcl. Не требуется ORM и спринг)))))) LOL ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 19.05.2020, 17:28 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=59&msg=39959534&tid=2120802]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    60ms | 
get topic data:  | 
    12ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    63ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 15ms | 
| total: | 184ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...