информационная безопасность
без паники и всерьез
 подробно о проекте
Портрет посетителяСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 35 лет первому сообщению о Linux 
 FreeBSD полностью избавляется от... 
 Рекордный июльский патч - первая... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[winsock] 18.10.01 08:19  
Автор: делитант Статус: Незарегистрированный пользователь
<"чистая" ссылка>

ребята помогите в моих начинеаниях
к вашему вниманию я представляю 2 прогр.
одна сервер другая клиент. сервер сделан не до конца часть кода не доделана
а клиент просто посылает строку серверу
посмотрите и откорректируйте их
дополните программки необходимыми функциями и если не сложно то в кратце объясните их
также подкинте пару интересных функций которые могли бы быть полезны мне
буду очень благодарен
/////////////////////////////////////сервер
#include <iostream.h>
#include <winsock.h>
HWND GetHwnd();
main()
{
WSADATA ws;
SOCKET sock,sock_two;
sockaddr_in addr,addr_two;
if(WSAStartup(0x0101,&ws)!=SOCKET_ERROR)
{
sock=socket(AF_INET,SOCK_STREAM,0);
if(sock!=INVALID_SOCKET)
{
addr.sin_family=AF_INET;
addr.sin_port=htons(1234);
addr.sin_addr.s_addr=INADDR_ANY;

if(bind(sock,(LPSOCKADDR)&addr,sizeof(addr))!=SOCKET_ERROR)
{
if(WSAAsyncSelect(sock,GetHwnd(),NULL,FD_ACCEPT)!=SOCKET_ERROR)
{
listen(sock,5);
while(1)
{ ; } /* вот тут од должен быть в постоянной готовности */
/* в цикле должен быть accept но зачем ему пужен второй SOCKET и sockaddr_in какие они выполняют задачи*/
}
else
cout<<"\nWSAAsyncSelect bad\n";
}
else
cout<<"\nbind bad\n";
}
else
cout<<"\nSOCKET bad\n";
}
else
cout<<"\nWSAStartup bad\n";
return 0;
}
HWND GetHwnd()
{
SetConsoleTitle("server");
return FindWindow(NULL,"server");
}
/////////////////////////////////////клиент
#include <iostream.h>
#include <winsock.h>
#define TEXT "HELLO_WORLD\n"
main()
{
WSADATA ws;
if(WSAStartup(0x0101,&ws)!=SOCKET_ERROR)
{
SOCKET sock;
sock=socket(AF_INET,SOCK_STREAM,0);
if(sock!=INVALID_SOCKET)
{
sockaddr_in addr;
addr.sin_port=htons(1234);
addr.sin_family=AF_INET;
addr.sin_addr.s_addr=inet_addr("127.0.0.1");

if(connect(sock,(LPSOCKADDR)&addr,sizeof(addr))!=SOCKET_ERROR)
{
send(sock,TEXT,sizeof(TEXT),0); // неужели тут больше ничего ненадо???
}
else
cout<<"\nconnect bad\n";
}
else
cout<<"\nSOCKET bad\n";
}
else
cout<<"\nWSAStartup bad\n";
return 0;
}
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach