Вот что пишет компилятор ,незнаю как исправить эту проблемму.Помогите пожалуйста. c:\docume~1\helius\0016~1\socket.cpp C:\DEV-C_~1\Include\winsock2.h:46: unbalanced `#endif' Бывает пишет и это: unresolved external symbol __imp__WSACleanup@0 unresolved external symbol __imp__recv@16 unresolved external symbol __imp__send@16 unresolved external symbol __imp__connect@12 unresolved external symbol __imp__socket@12 unresolved external symbol __imp__htons@4 unresolved external symbol __imp__inet_addr@4 unresolved external symbol __imp__WSAStartup@8 #include <stdio.h> #include <winsock2.h> int main(int argc, char* argv[]) { WSADATA wsaData; WSAStartup(MAKEWORD(2, 0), &wsaData); SOCKET NewSocket; SOCKADDR_IN rmaddr; rmaddr.sin_addr.s_addr = inet_addr(argv[1]); rmaddr.sin_family = AF_INET; rmaddr.sin_port = htons(7766); NewSocket = socket (AF_INET,SOCK_STREAM,0); char buf[128]=""; strcat(buf,argv[2]),strcat(buf," "),strcat(buf,argv[3]); connect(NewSocket,(struct sockaddr *)&rmaddr,sizeof(rmaddr)); send(NewSocket, buf, 128, 0); if (argv[2][0]=='f'){ while(true){ char buffer[4096]=""; recv(NewSocket, buffer, 4096, 0); printf(buffer); } } WSACleanup(); return 0; }
(1) Пробуй зделать #include "Winsock2.h" первим инклудом в проге (для MSVC++) (2) #pragma comment (lib ,"ws2_32.lib") или в командную строчку линковщика дописать ws2_32.lib если не помагает
Ну вот сейчас я попробовал в VC++ всё скомпилилось но вот только в самой программульке ошика ну типо отсылась отчёт или нет,я компилю как reliase
может так: Код (Text): char buf[128]=""; .... send(NewSocket, &buf, 128, 0); char buffer[4096]=""; ..... recv(NewSocket, &buffer, 4096, 0); printf(&buffer[0]); } }
В Dev-C++ в опциях проекта в закладке "Parameters" надо добавить файл libws2_32.a в папке с библиотеками (lib) и ошибки unresolved external symbol .... исчезнут.