|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.07.2011, 14:21 | #1 |
Регистрация: 10.10.2009
Сообщений: 3
|
eclipse+winsock
OS: Windows 7
Компилятор: MinGW 4.5.3 Среда: eclipse indigo CDT Код: #include <stddef.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <process.h> #include <windows.h> #include <winsock2.h> #include <ws2tcpip.h> #define SERV_PORT 47808 int main(void) { WSADATA WSAStartData; SOCKET s_socket, socket_io; SOCKADDR_IN serv_addr, connect_addr; int addr_len; setbuf(stdout, NULL); printf("Start Test Server\n"); #ifdef _WIN32 WSAStartup(MAKEWORD(2,0), &WSAStartData); #endif printf("Open socket\n"); s_socket = socket(AF_INET, SOCK_STREAM, 0); if (s_socket == INVALID_SOCKET) { printf("OPEN SOCKET ERROR: %i\n", WSAGetLastError()); exit(1); } memset(&serv_addr, 0, sizeof(serv_addr)); serv_addr.sin_family = AF_INET; serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); serv_addr.sin_port = htons(SERV_PORT); printf("Bind socket\n"); if (bind(s_socket, (SOCKADDR *) &serv_addr, sizeof(serv_addr)) == SOCKET_ERROR) { printf("BIND SOCKET ERROR!\n"); exit(1); } printf("Listen socket\n"); if (listen(s_socket, 5) == -1) { printf("LISTEN SOCKET: %i\n", WSAGetLastError()); exit(1); } printf("Accept socket\n"); addr_len = sizeof(connect_addr); socket_io = accept(s_socket, (SOCKADDR *) &connect_addr, &addr_len); printf("Shutdown sockets\n"); shutdown(socket_io, 2); shutdown(s_socket, 2); printf("Close sockets\n"); closesocket(socket_io); closesocket(s_socket); WSACleanup(); printf("End test programm\n"); return 0; } Столкнулась со следующей проблемой. Из cmd Windows и при отладке в GDB код прекрасно работает. А вот только нажимаешь Run в среде, получаем на строчке s_socket = socket(AF_INET, SOCK_STREAM, 0); ошибку 10106. На MSDN написано про эту ошибку: "Поставщик услуг был не в состоянии инициализировать. Требуемый поставщик услуг не мог быть загружен или инициализирован. Эта ошибка возвращена, если любой DLL поставщика услуг не мог бы быть загружен (отказавший LoadLibrary) или WSPStartup провайдера или отказавшая функция NSPStartup." Хотелось бы все-таки иметь возможность исполнять код непосредственно в eclipse. Кто-нибудь сталкивался с подобной проблемой? РЕШЕНО: Run->Run Configurations->Envirovment->Add->Variable: PATH; Value: %SystemDir% Последний раз редактировалось Selince; 30.07.2011 в 15:50. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
c++ и Eclipse | wadzik | Общие вопросы C/C++ | 1 | 20.06.2011 00:59 |
Java в eclipse | raIto | Помощь студентам | 0 | 27.05.2011 17:00 |
Eclipse и подсказки | LAGOX | PHP | 0 | 30.06.2009 23:10 |
Eclipse europa | oleg kutkov | Софт | 0 | 12.04.2009 13:00 |
Eclipse SDK + БД | Carbon | Java Базы данных (JDBC, JPA, Hibernate) | 4 | 10.10.2007 09:02 |