|
|
|
новичок
      
участник
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);
}
//---------------------------------------------------------------------------
|
|
|
|
|
Forum Member
      
участник
Last Login: 30.06.2007 8:03
Сообщ.: 28,
Visits: 42
|
|
ну вторая ошибка исчезнет если убрать первую :)
а первая говорит о том, что проект был создан как Win32 (или в настройках потом поставили оное), а ты пишешь функцию main. Нужно в настройках поставить, что приложение - консольное(SUBSYSTEM:CONSOLE), или вобще убрать эту настроечку, тогда компилятор сам определит тип проекта.
|
|
|
|