The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"вызов connet (tcp) не сразу завершается удачно"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"вызов connet (tcp) не сразу завершается удачно" 
Сообщение от borey Искать по авторуВ закладки on 31-Янв-05, 15:07  (MSK)
своим ftp клиентом выполняю параллельную отправку нескольких файлов на ftp сервер.делаю fork()ом пару дочерних процессов и они соединяются с сервером и передают ему файл. потом завершаются и далее передаётся следующий файл опять fork и тд. передаю где то 10 файлов. и где то в середине у меня начинает вызов connet с 21 портом сервера возвращаться с ошибкой cannot assign requested adress, хотя локальный порт отправки не занят. но если вызову connect ещё раз, то со второго третьего раза соединяется. Очень прошу помочь никак не могу разобраться. заранее благодарен
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "вызов connet (tcp) не сразу завершается удачно" 
Сообщение от Михаил Искать по авторуВ закладки(??) on 31-Янв-05, 18:32  (MSK)
>своим ftp клиентом выполняю параллельную отправку нескольких файлов на ftp сервер.делаю fork()ом
>пару дочерних процессов и они соединяются с сервером и передают ему
>файл. потом завершаются и далее передаётся следующий файл опять fork и
>тд. передаю где то 10 файлов. и где то в середине
>у меня начинает вызов connet с 21 портом сервера возвращаться с
>ошибкой cannot assign requested adress, хотя локальный порт отправки не занят.
>но если вызову connect ещё раз, то со второго третьего раза
>соединяется. Очень прошу помочь никак не могу разобраться. заранее благодарен
Может проблема в том, что сервер не принимает более N коннектов с одного логина?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "вызов connet (tcp) не сразу завершается удачно" 
Сообщение от borey Искать по авторуВ закладки(??) on 01-Фев-05, 07:45  (MSK)
>>своим ftp клиентом выполняю параллельную отправку нескольких файлов на ftp сервер.делаю fork()ом
>>пару дочерних процессов и они соединяются с сервером и передают ему
>>файл. потом завершаются и далее передаётся следующий файл опять fork и
>>тд. передаю где то 10 файлов. и где то в середине
>>у меня начинает вызов connet с 21 портом сервера возвращаться с
>>ошибкой cannot assign requested adress, хотя локальный порт отправки не занят.
>>но если вызову connect ещё раз, то со второго третьего раза
>>соединяется. Очень прошу помочь никак не могу разобраться. заранее благодарен
>Может проблема в том, что сервер не принимает более N коннектов с
>одного логина?
да нет. параллельно отправлял и 10 файлов(10 коннектов) за один присест. ftp сервер (ftpd-BSD) на подконтрольной машине так что настраиваю как хочу.
ядро 2.4 linux RH

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "вызов connet (tcp) не сразу завершается удачно" 
Сообщение от Xenu emailИскать по авторуВ закладки on 01-Фев-05, 23:10  (MSK)
> ...
> и где то в середине
>у меня начинает вызов connet с 21 портом сервера возвращаться с
>ошибкой cannot assign requested adress, хотя локальный порт отправки не занят.

Какой код ошибки в errno после того, как connect не смог присоединится?

Может быть слишком частые попытки соедининие и socket еще не успел очиститься.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "вызов connet (tcp) не сразу завершается удачно" 
Сообщение от borey emailИскать по авторуВ закладки(??) on 02-Фев-05, 07:45  (MSK)
>> ...
>> и где то в середине
>>у меня начинает вызов connet с 21 портом сервера возвращаться с
>>ошибкой cannot assign requested adress, хотя локальный порт отправки не занят.
>
>Какой код ошибки в errno после того, как connect не смог присоединится?
>
>
>Может быть слишком частые попытки соедининие и socket еще не успел очиститься.
>
код 99 EADDRNOTAVAIL
а что значит не успел очистится сокет?
какими вызовами узнать готов он или нет?
странно что когда у меня 2 параллельных соединения ошибки появляются только в одном.
спаибо


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "вызов connet (tcp) не сразу завершается удачно" 
Сообщение от Xenu emailИскать по авторуВ закладки on 02-Фев-05, 23:46  (MSK)
>код 99 EADDRNOTAVAIL
>а что значит не успел очистится сокет?
>какими вызовами узнать готов он или нет?
>странно что когда у меня 2 параллельных соединения ошибки появляются только в
>одном.
>спаибо

есть у сокета или у tcp, точно не помню, параметер который называется linger или linger timeout, он определяет время в течении которого сокет будет занят даже если соединие завершено.
я встречал ситуацию когда программа пыталась открывать сокет достаточно часто и нарывалась на нехватку портов, но это происходило на локальной машине, так что в данной ситуации объяснение может быть другим.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "вызов connet (tcp) не сразу завершается удачно" 
Сообщение от borey emailИскать по авторуВ закладки(??) on 04-Фев-05, 07:46  (MSK)
я посмотрел. этот параметр отвечает за закрытие сокета. те как будет обрабатываться дескриптор функцией close().но у меня для каждого нового файла создаётся новый сокет и новое соединение. (так библиотека работает, принимает файл и отсылает на сервер,на новый файл новый вызов).раз я создаю новый сокет,а он нормально создаётся, может ли ли то как я закрыл старый влиять на connect исходящий с нового? вроде нет.
спасибо за рекомендации. но проблему так и не решил пока.есть ли ещё какие нибудь мнения
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру