Russian Qt Forum
Ноябрь 23, 2024, 01:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Connect Refused  (Прочитано 14208 раз)
Germiona
Гость
« : Октябрь 29, 2008, 12:30 »

 Добрый день!

Господа, подскажите, плиз, в чем может быть проблема....

Модель Клиент - Сервер

Если клиент создавать с помощью средств QT3:

Код:
    socket = new QSocket(this);
    connect(socket, SIGNAL(connected()), SLOT(slotConnected()));
    connect(socket, SIGNAL(error(int)), SLOT(slotError(int)));   
    connect(socket, SIGNAL(readyRead()), SLOT(slotReadyRead()));   
   
    socket->connectToHost("192.168.100.69", 15000);

то соединение не происходит и выдает ошибку QSocket::ErrConnectionRefused

Хотя без использования QT соединение устанавливается, напр:

Код:
int sock;
struct sockaddr_in server = {AF_INET, 15000};
server.sin_addr.s_addr = inet_addr("192.168.100.69");

if( (sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
    printf("\n ERR SOCKET\n");

if(connect(sock, (struct sockaddr *)&server, sizeof(struct sockaddr_in)) == -1)
    printf("\n ERR SERVER\n");

То есть и порт,и IP-адрес правильные....
В чем может быть проблема?....Сервер тоже должен создаваться средствами QT?
Записан
KADABRA
Гость
« Ответ #1 : Октябрь 29, 2008, 23:52 »

Цитировать
то соединение не происходит и выдает ошибку QSocket::ErrConnectionRefused
Файрвол установлен на клиенте/сервере?
Коннект на ya.ru:80 проходит?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Октябрь 30, 2008, 00:16 »

2 KADABRA, она же написала, что без Qt все работает.
Записан

Юра.
KADABRA
Гость
« Ответ #3 : Октябрь 30, 2008, 00:37 »

2 KADABRA, она же написала, что без Qt все работает.
И? Вы телепат и можете помочь решить проблему по даному обьёму информации?
Нет? Тогда зачем мешать другим?
Записан
Germiona
Гость
« Ответ #4 : Октябрь 30, 2008, 11:44 »

Цитировать
Файрвол установлен на клиенте/сервере?
Коннект на ya.ru:80 проходит?
[/color]

Коннект с ya.ru:80 проверить не могу, соединения с интернетом нет. Файрвол не думаю,что установлен....это Линукс....
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #5 : Октябрь 30, 2008, 12:06 »

Код:
telnet 192.168.100.69 15000

что говорит?
Записан
Germiona
Гость
« Ответ #6 : Октябрь 30, 2008, 12:25 »

Цитировать
Код:
[color=navy]telnet 192.168.100.69 15000[/color]

что говорит?

Код:
Trying 192.168.100.69...
telnet: connect to address 192.168.100.69: Connection refused

Ээээ......и что это означает?
Записан
Germiona
Гость
« Ответ #7 : Октябрь 30, 2008, 12:52 »

Собственно... другая машина,которая с сервером коннектится удачно, на telnet отвечает так же...connection refused
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #8 : Октябрь 30, 2008, 13:29 »

Это означает, что ваш код не на QT - там где socket работать не должен.
И проблема именно в удаленной тачке. C Qt проблем нет.
Записан
Germiona
Гость
« Ответ #9 : Октябрь 30, 2008, 13:54 »

Цитировать
Это означает, что ваш код не на QT - там где socket работать не должен.
И проблема именно в удаленной тачке. C Qt проблем нет.

Хорошо, а возможно взаимодействие сервера и клиента, если сервер написан не на QT,а клиент создан средствами QT Непонимающий
Записан
ритт
Гость
« Ответ #10 : Октябрь 30, 2008, 13:59 »

вы ж используете tcp/ip - конечно, возможно )
не имеет значения на чём писался сервер и/или клиент, если общение между ними происходит по опр.стандарту.
Записан
Germiona
Гость
« Ответ #11 : Октябрь 30, 2008, 14:04 »

Цитировать
не имеет значения на чём писался сервер и/или клиент, если общение между ними происходит по опр.стандарту.


Так почему тогда ошибка при соединении....... Непонимающий Сервер-то рабочий.....Сложностей в создании сокета тоже нет  Непонимающий
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #12 : Октябрь 30, 2008, 15:02 »

Попробуйте сначала
Код:
ping 192.168.100.69
Если пойдет, то
Код:
telnet 192.168.100.69 80

вместо 80 - подставляете 21,22, 110, 443 - проверить открыты ли порты.

>>Сервер-то рабочий.
на рабочем сервере стоит firewall на этот порт, типа коннект с определенного IP.
Записан
Germiona
Гость
« Ответ #13 : Октябрь 30, 2008, 15:36 »

Естественно ping проходит.

Попробывала telnet с разными портами.
Только на 22 устанавливается соединение, остальные отклоняют связь.

« Последнее редактирование: Октябрь 30, 2008, 16:01 от Germiona » Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #14 : Октябрь 30, 2008, 16:03 »

значит для вас только порт ssh открыт и все!!
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 23.