Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Invalid argument - bind(2), s.bind(...) вызывает ошибку 
V
    Опции темы
arpmac
  Дата 16.8.2009, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 16.8.2009

Репутация: нет
Всего: нет



Подскажите, может у кого было такое:

-----
#!/usr/bin/env ruby

require "socket"

s=Socket.new(Socket::AF_INET,Socket::SOCK_STREAM,0)
s.bind(Socket.sockaddr_in(9999,"127.0.0.1"))
s.listen(1)
s.close
-----

В консоли пишет:

server.rb:6:in `bind': Invalid argument - bind(2) (Errno::EINVAL)
    from server.rb:6:in `<main>'

Как с ней бороться?


PM MAIL   Вверх
GrayCardinal
Дата 16.8.2009, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



Из документашки по сокетам.
Цитата

 require 'socket'
     include Socket::Constants
     socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
     sockaddr = Socket.pack_sockaddr_in( 2200, 'localhost' )
     socket.bind( sockaddr )


в общем ты забыл "pack_" smile


--------------------
PM MAIL WWW   Вверх
arpmac
Дата 16.8.2009, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 16.8.2009

Репутация: нет
Всего: нет



#!/usr/bin/env ruby
require "socket"
s=Socket.new(Socket::AF_INET,Socket::SOCK_STREAM,0)

psockaddr=Socket.pack_sockaddr_in(9999,"localhost")
sockaddr=Socket.sockaddr_in(9999,"localhost")
p "pack_sockaddr_in #{psockaddr.class} #{psockaddr}"
p "sockaddr_in      #{sockaddr.class} #{sockaddr}"

s.bind(psockaddr)
s.close

На выходе:

"pack_sockaddr_in String \x02\x00'\x0F\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
"sockaddr_in          String \x02\x00'\x0F\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
server.rb:10:in `bind': Invalid argument - bind(2) (Errno::EINVAL)
    from server.rb:10:in `<main>'

Ничего не изменилось.
PM MAIL   Вверх
GrayCardinal
Дата 16.8.2009, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



Ты руби часом не ручками собирал ? У меня всё работает smile

Добавлено через 5 минут и 16 секунд
  EINVAL The socket is already bound to an address.

Добавлено через 5 минут и 38 секунд
 smile 


--------------------
PM MAIL WWW   Вверх
arpmac
Дата 16.8.2009, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 16.8.2009

Репутация: нет
Всего: нет



Все, благодарю. Естественно в сорцы полез. А виноват оказался файрволл.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0671 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.