![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Гость_Intro |
|
|||
|
Unregistered |
'DEFAULT_PROTOCOL' : undeclared identifier --- ошибка...
в функции : void %%%%%%() { SocketGetHostName(); SOCKET servsocket; servsocket = socket(PF_INET,SOCK_STREAM,DEFAULT_PROTOCOL); if (servsocket==INVALID_SOCKET) { printf("%%%%%%%%\n"); exit(1); } closesocket(servsocket); } |
|||
|
||||
| Гость_Intro |
|
|||
|
Unregistered |
Чем это вызванно и как разрешить проблемму...
|
|||
|
||||
| Гость_Intro |
|
|||
|
Unregistered |
????????????????????????
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Константа DEFAULT_PROTOCOL не определена ни в одном заголовочном файле VC++. Откуда взят исходник ?
-------------------- ![]() |
|||
|
||||
| Гость_Intro |
|
|||
|
Unregistered |
http://www.firststeps.ru ---> visual c++ ---> network ---> winsock ---> 4 этап...
|
|||
|
||||
| Гость_Intro |
|
|||
|
Unregistered |
Правильно? :
socket(PF_INET,SOCK_STREAM,DEFAULT_PROTOCOL); Или нет??? При компилинге ошибка и всё, пробывал банально в поиске смотреть где такая константа определенна, но кроме уже использующегося winsock.h or winsock2.h а так же в необходимой библоитеке... Ну блин у всех работает, а у меня нет --- полтергейст... |
|||
|
||||
| Гость_Intro |
|
|||
|
Unregistered |
Я ведь дальше продвинуться не могу в изучении сокетов, а очень хочется...
|
|||
|
||||
| Гость_Intro |
|
|||
|
Unregistered |
А надо прописывать winsocket, если на самом деле надо получить просто socket server ??? вот так :
Вообще как рационализировать данный код ??? #include "stdafx.h" #include "winsock.h" #include "iostream.h" #include "MSWSOCK.H" #define PORT_ADDR 80 void CreateSocket(); void CloseSocket(); void SocketGetHostName(); SOCKET servsocket; void main() { CreateSocket(); struct in_addr { union { struct { unsigned char s_b1, s_b2, s_b3, s_b4; } S_un_b; struct { unsigned short s_w1, s_w2; } S_un_w; unsigned long S_addr; } S_un; }; struct sockaddr_in { short sin_family; unsigned short sin_port; struct in_addr sin_addr; char sin_zero[8]; }; SOCKADDR_IN socketaddr; socketaddr.sin_family = AF_INET; socketaddr.sin_addr.s_addr = INADDR_ANY; socketaddr.sin_port = PORT_ADDR; if (bind(servsocket,(LPSOCKADDR)&socketaddr,sizeof(socketaddr)) == SOCKET_ERROR) { cout << "Error bind socket\n"; exit(1); } else cout << "God bind socket !!!!!!\n"; } void CreateSocket() { SocketGetHostName(); servsocket = socket(PF_INET,SOCK_STREAM,DEFAULT_PROTOCOL); } void CloseSocket() { if (servsocket==INVALID_SOCKET) { cout << "Error create socket\n"; exit(1); } closesocket(servsocket); } void SocketGetHostName() { char chInfo[64]; if (gethostname(chInfo,sizeof(chInfo))) { cout << "Not local host\n"; exit(1); } else { cout << chInfo; cout << " GetHostName OK !!!!!\n"; } } |
|||
|
||||
| Гость_Intro |
|
|||
|
Unregistered |
Вообще, а где взять подробную доку по сокетам
Msdn не предлагать |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
MSDN З.Ы. Модератор: просьба не подымать тему с пом. флуда (даже если и по существу). Если кто-то знает ответ на вопрос, то обязательно помогут - пусть и не сейчас, но через некоторое время (форум и чат - не одно и то же -------------------- ![]() |
|||
|
||||
| Гость_Intro |
|
|||
|
Unregistered |
MSDN
форум и чат - не одно и то же --- понял учту.... |
|||
|
||||
| Intro |
|
|||
|
Unregistered |
Всё выход нашёл сам.... + вынес все структуры в отдельный заг. файл. А самое главное DEFAULT --- это я, как понял надо было заменить на 0, то есть на DEFAULT
mr.DUDA, будь по-проще... |
|||
|
||||
| MorphX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 21.6.2009 Репутация: нет Всего: нет |
Столкнулся с тем же. В Winsock.h прогнал поиском и нашел список протоколов. И для того самого вышеупомянутого значения 0 есть константа: #define IPPROTO_IP 0 /* dummy for IP */
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |