Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Ошибка вызова socket в Visual C++


Автор: 07pov23 11.4.2009, 13:14
Здравтсвуйте. В общем сабж.
Вот код программы:
Код

#include <winsock2.h>
#include <iostream>

#pragma comment(lib, "Ws2_32.lib")

using namespace std;

void main() {
    WSADATA wsaData;    
    if (WSAStartup(0x202, &wsaData) != NO_ERROR)
        cout << "Error at WSAStartup()\n";
    
    int s;
    s = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
    if (s = INVALID_SOCKET) {
        cout << "Error at socket";
        cin.get();
        return;
    }
}


Пробовал сменить версию сокетов в WSAStartup, но без результатно. Причем этот же код отлично работает в Delphi

Автор: Alca 11.4.2009, 13:30
s == INVALID_SOCKET

Автор: SVN74 11.4.2009, 19:22
Цитата(07pov23 @  11.4.2009,  13:14 Найти цитируемый пост)
int s;


В WinSock не катит - надо:
 SOCKET s;

 лучше:
 WSAStartup(MAKEWORD(2, 2), &wsaData );

Автор: 07pov23 12.4.2009, 12:44
Цитата(Alca @  11.4.2009,  13:30 Найти цитируемый пост)
s == INVALID_SOCKET 

Я ЛОШАРА!!! smile
Вот что происходит когда долго кодишь на Паскале

Автор: azesmcar 12.4.2009, 12:57
07pov23

Выработай привычку писать в стиле
Код

    if (INVALID_SOCKET == s) {


этой проблемы больше не будет smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)