imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 16.06.2004, 13:53     # 1
TRiPLE
Junior Member
 
Аватар для TRiPLE
 
Регистрация: 10.10.2003
Адрес: Москва
Сообщения: 136

TRiPLE Реально крут(а)TRiPLE Реально крут(а)TRiPLE Реально крут(а)TRiPLE Реально крут(а)
Question Программирование сокетов.

Пытаюсь разобраться с сабжем по инфе с firststeps.ru. С небольшими изменениями делал все как там описано, но на стадии привязки сокета к имени(адресу) он ругается кодом ошибки 10038, мол, я пытаюсь вместо сокета функции bind() передать что-то другое ("An operation was attempted on something that is not a socket"). Самое странное, что непосредственно перед этим абсолютно без ошибок создается сам сокет и с указателем на него ничего не делается. Вот так это выглядит:
Код:
 SOCKADDR_IN socketaddr;
 socketaddr.sin_family=AF_INET;
 socketaddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
 socketaddr.sin_port = PORT_ADDR;
 if (bind(servsocket,(LPSOCKADDR)&socketaddr,sizeof(socketaddr)) == SOCKET_ERROR) 
 {
//дальше просто сообщения об ошибках...
Помогите, плз, выловить баг.
__________________
"Самое великое достижение Америки - каждый должен голосовать".
- Джордж Буш Мл.(Остин, 08.12.00).
TRiPLE вне форума  
Старый 16.06.2004, 15:07     # 2
chesnok
Member
 
Аватар для chesnok
 
Регистрация: 01.01.2004
Адрес: Воронеж, Россия
Сообщения: 206

chesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форуме
Поподробнее можно? Какой компилятор, что в исходниках (объявления переменой servsocket и т.д.).
btw. на сколько я понимаю, такой сокет будет слушать только локалхост (в сокаддре надо было прописать s_addr = INADDR_ANY)
__________________
<SPEEDing|VoNK> you cant use knoppix as a server can you?
<bob> why not? people use windows as one.
chesnok вне форума  
Старый 16.06.2004, 15:44     # 3
TRiPLE
Junior Member
 
Аватар для TRiPLE
 
Регистрация: 10.10.2003
Адрес: Москва
Сообщения: 136

TRiPLE Реально крут(а)TRiPLE Реально крут(а)TRiPLE Реально крут(а)TRiPLE Реально крут(а)
C++ Builder 6. Про локальный адрес прослушивания - это пока как заглушка стоит, потом прога тоже буде слушать только определенный адрес скорее всего. А сам сокет сделан вот так:
Код:
SOCKET servsocket;
servsocket = socket(PF_INET,SOCK_STREAM,0);
__________________
"Самое великое достижение Америки - каждый должен голосовать".
- Джордж Буш Мл.(Остин, 08.12.00).
TRiPLE вне форума  
Старый 16.06.2004, 16:16     # 4
chesnok
Member
 
Аватар для chesnok
 
Регистрация: 01.01.2004
Адрес: Воронеж, Россия
Сообщения: 206

chesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форуме
а по-моему надо:
Код:
servsocket = socket(AF_INET, SOCK_STREAM, 0);
__________________
<SPEEDing|VoNK> you cant use knoppix as a server can you?
<bob> why not? people use windows as one.
chesnok вне форума  
Старый 16.06.2004, 17:34     # 5
TRiPLE
Junior Member
 
Аватар для TRiPLE
 
Регистрация: 10.10.2003
Адрес: Москва
Сообщения: 136

TRiPLE Реально крут(а)TRiPLE Реально крут(а)TRiPLE Реально крут(а)TRiPLE Реально крут(а)
Дико извиняюсь, ошибка как всегда была нелепой. В функции, где я создавал сокет забыл потереть функцию его закрытия. В любом случае, огромное спасибо за внимание к проблеме!
PS: Посмотрел в winsock.h, там написано PF_INET = AF_INET... вот.
__________________
"Самое великое достижение Америки - каждый должен голосовать".
- Джордж Буш Мл.(Остин, 08.12.00).

Последний раз редактировалось TRiPLE; 16.06.2004 в 17:37.
TRiPLE вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 01:06.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.