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

start [/forum/topic.php?fid=59&mobile=1&tid=2120802]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    62ms | 
get topic data:  | 
    12ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    58ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 240ms | 
| total: | 406ms | 

    | 0 / 0 | 

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