Проблема с socket`ом
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Проблема с socket`ом Expand / Collapse
Автор
Сообщение
26.05.2007 12:25
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 27.05.2007 0:57
Сообщ.: 1, Visits: 4
Сетевая прога для обмена сообщениями, добавил либу "Ws2_32.lib"
после чего ошибок стало меньше но есть еще 2.
Подскажите что нужно еще....


Linking...
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/in.exe : fatal error LNK1120: 1 unresolved externals


Исходник сервера

//---------------------------------------------------------------------------
#include "windows.h"
#include "stdio.h"
#include "conio.h"
#pragma hdrstop
#include "tcp.h"

int main() {
sockaddr_in serverAddr;
sockaddr_in clientAddr;
int sockAddrSize;
SOCKET sHandle;
SOCKET newSHandle;
WSADATA wsaData;

int nbyte = 0;

char clientRequest[REQUEST_MSG_SIZE];

sockAddrSize = sizeof(sockaddr_in);
memset(&serverAddr, 0, sockAddrSize);
serverAddr.sin_family = AF_INET;
serverAddr.sin_port = htons(SERVER_PORT_NUM);
serverAddr.sin_addr.s_addr = INADDR_ANY;


if(WSAStartup(MAKEWORD(1, 1), &wsaData)) {
getSocketError();
getch();
return 0;
}

if((sHandle = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) {
getSocketError();
getch();
return 0;
}

if(bind(sHandle, (sockaddr *)&serverAddr,
sockAddrSize) == -1 )
{
getSocketError();
closesocket(sHandle);
getch();
return 0;
}

if(listen(sHandle, SERVER_MAX_CONNECTIONS) == -1) {
getSocketError();
closesocket(sHandle);
getch();
return 0;
}

if((newSHandle = accept(sHandle,
(sockaddr *)&clientAddr,
&sockAddrSize)) == INVALID_SOCKET)
{
getSocketError();
closesocket(sHandle);
getch();
return 0;
}

nbyte = recv(newSHandle, (char *)clientRequest,
sizeof(clientRequest), MSG_PEEK);
if (nbyte != SOCKET_ERROR) {
printf("Have received %d bytes ", nbyte);
printf("Data: %s", clientRequest);
}
else
getSocketError();

memset(clientRequest, 0, REQUEST_MSG_SIZE);
closesocket(sHandle);
closesocket(newSHandle);
printf("Press any key");
getch();
return 0;
}
//---------------------------------------------------------------------------

void getSocketError() {
LPVOID lpMsgBuf;
if (!FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0,
NULL))
{
MessageBox(NULL, "Error number not found",
"Error", MB_OK | MB_ICONSTOP);
return;
}

MessageBox(NULL, (LPCTSTR)lpMsgBuf, "Error",
MB_OK | MB_ICONSTOP);

LocalFree(lpMsgBuf);
}
//---------------------------------------------------------------------------

Сообщ. #913655
26.05.2007 13:07


Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 30.06.2007 8:03
Сообщ.: 28, Visits: 42
ну вторая ошибка исчезнет если убрать первую :)
а первая говорит о том, что проект был создан как Win32 (или в настройках потом поставили оное), а ты пишешь функцию main. Нужно в настройках поставить, что приложение - консольное(SUBSYSTEM:CONSOLE), или вобще убрать эту настроечку, тогда компилятор сам определит тип проекта.
Сообщ. #913656
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 4:16