close

Вход

Забыли?

вход по аккаунту

?

ыукм

код для вставкиСкачать

BOOL CServerWinSock::StartServer(HWND m_hWnd)
{
if (!StartSocket()) return FALSE;
if (!SocketGetHostName()) return FALSE;
if (!CreateSocket()) return FALSE;
if (!BindSocket()) return FALSE;
if (!LinkWindowSocket(m_hWnd)) return FALSE;
if (!ListenSocket()) return FALSE;
return TRUE;
}
BOOL CServerWinSock::StopSocket()
{
if (WSACleanup()) {
AfxMessageBox("Error Cleapir\n");
return FALSE;
}
else return TRUE;
}
void CServerWinSock::StopServer()
{
StopSocket();
CloseSocket();
}
BOOL CServerWinSock::BindSocket()
{
SOCKADDR_IN socketaddr;
socketaddr.sin_family = AF_INET;
socketaddr.sin_addr.s_addr = INADDR_ANY; socketaddr.sin_port = htons(PORT_ADDR);
if (bind(servsocket,(LPSOCKADDR)&socketaddr,sizeof(socketaddr)) == SOCKET_ERROR)
{
AfxMessageBox("Error bind socket");
return FALSE;
}
else return TRUE;
}
void CServerWinSock::CloseSocket()
{
closesocket(servsocket);
}
BOOL CServerWinSock::ListenSocket()
{
int Errors;
Errors=listen(servsocket,QUEUE_SIZE);
if ( Errors == SOCKET_ERROR)
{
AfxMessageBox(" Listen BAD !!! ");
return FALSE;
}
else return TRUE;
}
BOOL CServerWinSock::LinkWindowSocket(HWND m_hWnd)
{
int Errors;
Errors=WSAAsyncSelect(servsocket,m_hWnd,WM_SERVER_ACCEPT, FD_ACCEPT);
if (Errors == SOCKET_ERROR)
{
AfxMessageBox(" AsyncSelect BAD !!! ");
return FALSE;
}
else return TRUE;
}
BOOL CServerWinSock::CreateSocket()
{
servsocket = socket(PF_INET,SOCK_STREAM,DEFAULT_PROTOCOL);
if (servsocket==INVALID_SOCKET) {
AfxMessageBox("Error create socket");
return FALSE;
}
return TRUE;
}
BOOL CServerWinSock::SocketGetHostName()
{
char chInfo[64];
if (gethostname(chInfo,sizeof(chInfo)))
{
AfxMessageBox("Not local host");
return FALSE;
}
else return TRUE;
}
BOOL CServerWinSock::StartSocket()
{
WSADATA wsaData;
if (WSAStartup(WINSOCK_VERSION, &wsaData)) {
AfxMessageBox("winsock not bi initialized !");
WSACleanup();
return FALSE;
}
else return TRUE;
}
Автор
IljaKors
Документ
Категория
Без категории
Просмотров
16
Размер файла
15 Кб
Теги
ыукм
1/--страниц
Пожаловаться на содержимое документа