Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с сокетами(?)  (Прочитано 5600 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Vovanchic
Гость
« : 04-06-2005 19:55 » 

Решил я, значить, начать писать программы. Ну и (естественно) решил начать с сетевых приложений. Посмотрел документацию, и вроде бы все хорошо... winsock инициализируется (или что он делает?), сокет открывается, но не коннектится ни в какую! Есть у меня, серого, подозрение что неправильно я данные в sockaddr_in забиваю... Посмотрите, плз, и объясните в чем я не прав. Код здесь:

#include <stdio.h>
#include <stdlib.h>
#include <winsock.h>
main(){
struct sockaddr_in adress;
SOCKET socketa;

WSADATA ws;
if ((WSAStartup(MAKEWORD(1,1), &ws)) == SOCKET_ERROR){ //врубаем winsock 1.1
 printf("Winsock initialization error!\n");
 getchar();
 exit(1);
 }
else printf("Winsock was initializated sucessfully!\n");

socketa = socket (AF_INET, SOCK_STREAM, 0);  //создаем сокет
if(socketa == INVALID_SOCKET){
 printf("Socket opening crashed!\n");
 getchar();
 exit(1);
 }
else printf("Socket was opened sucessfully!\n");


adress.sin_family = AF_INET;
adress.sin_addr.S_un.S_addr = inet_addr ("127.0.0.1"); //мне по чему-то кажется что спотыкается прога здеся
adress.sin_port = htons (80);

if( (connect (socketa, &adress, sizeof(adress))) == SOCKET_ERROR){
 printf("Connect error!\n",);
 getchar();
 exit(1);
 }
else printf("Connected sucessfuly!\n");

closesocket(socketa);
printf("Happy End!");
getchar();
}


После компиляции выплевывается следущее:
Winsock was initializated sucessfully!
Socket was opened sucessfully!
Connect error!

Внимание, вопрос! Что я сделал не так?

Юзаю Borland C++ Builder 5.0, прога консольная, на С просто.

зАранИе спасибА
Записан
Vovanchic
Гость
« Ответ #1 : 04-06-2005 20:11 » 

Ой-ой-ой! Не бейте меня ногами! Усе понял... Я (идиот) коннектился  неоткрытому порту... Вот что с людьми делает недосып! К 198.182.196.56 (www.linux.org) коннектится нормально Ага
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #2 : 11-06-2005 10:53 » 

а у меня другие приколы - метод CAsyncSoket::Connect всегда возвращает ошибку, но подключается, правда обмен возможно начать только после некоторой паузы - около 10 мс (я её Sleep делаю)

почему так?

обработчик OnConnect при этом молчит. Все события включены
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines