если кому надо вот рабочий код
#include <stdio.h>
#include <iostream>
#include <winsock2.h>
DWORD WINAPI ThreadFunc(LPVOID s1)
{
SOCKET s2=((SOCKET *) s1)[0];
char buf[100];
memset(buf, 0, sizeof(buf));
while(recv(s2,buf,100,0)){
std::cout<<buf;
send(s2,buf,100,0);
}
closesocket(s2);
return 0;
}
int main(){
WSADATA WsaData;
struct sockaddr_in local;
int s;
int rc;
int err = WSAStartup (0x0101, &WsaData);
if (err == SOCKET_ERROR)
{
printf ("WSAStartup() failed: %ld\n", GetLastError ());
return 1;
}
local.sin_family = AF_INET;
local.sin_port = htons(7500);
local.sin_addr.s_addr = htonl(INADDR_ANY);
s = socket(AF_INET,SOCK_STREAM,0);
SOCKET s1;
if (s<0){
perror("socket error");
exit(1);
}else{
std::cout<<"Create sock: OK\n";
}
rc = bind(s,(struct sockaddr*)&local, sizeof(local));
if (rc<0){
perror("bind error");
exit(1);
}else{
std::cout<<"Bind: OK\n";
}
rc = listen(s,5);
if(rc){
perror("listen error");
exit(1);
}else{
std::cout<<"Listen: OK\n";
}
int local2=sizeof(local);
while(s1=accept(s,0,0)){
DWORD thID;
CreateThread(NULL,NULL,ThreadFunc,&s1,NULL,&thID);
}
return 0;
}
Привет, я новичек в C++, но немного знаком с другими языками. Создаю проект (консольное прил. win32) галку ставлю что проект пустой, там создаю в исх коде cpp в него вставляю код. нажимаю зеленую кнопочку (запуск.)
и выдает
1>—— Построение начато: проект: 6, Конфигурация: Debug Win32 ——
1>Компиляция…
1>1.cpp
1>Компиляция манифеста в ресурсы…
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Компоновка…
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__closesocket@4 в функции "unsigned long __stdcall ThreadFunc(void *)" (?ThreadFunc@@YGKPAX@Z)
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__send@16 в функции "unsigned long __stdcall ThreadFunc(void *)" (?ThreadFunc@@YGKPAX@Z)
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__recv@16 в функции "unsigned long __stdcall ThreadFunc(void *)" (?ThreadFunc@@YGKPAX@Z)
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__accept@12 в функции _main
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__listen@8 в функции _main
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__bind@12 в функции _main
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__socket@12 в функции _main
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__htonl@4 в функции _main
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__htons@4 в функции _main
1>1.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__WSAStartup@8 в функции _main
1>C:\****************\Visual Studio 2008\Projects\6\Debug\6.exe : fatal error LNK1120: 10 неразрешенных внешних элементов
1>Журнал построения был сохранен в "file://c:\****************\Visual Studio 2008\Projects\6\6\Debug\BuildLog.htm"
1>6 - ошибок 11, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Подскажите пожулуйста, как это исправить.. попробовал уже и в 2010, и в 2008.. потом какую то хрень скачал wxDev-C++ ( читая темку _http://
pyha.ru/forum/topic/6691.0 ).. незнаю что уже делать!