Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1] 2  Все   Вниз
  Печать  
Автор Тема: [WinAPI + C++] Клиент-серверное приложение  (Прочитано 44857 раз)
0 Пользователей и 1 Гость смотрят эту тему.
spooky
Новенький

ru
Offline Offline
Пол: Женский

« : 26-11-2013 15:27 » 

Всем добрый вечер!
Очень нужна помощь.

Нужно с использованием сокетов написать клиентскую программу, которая отображает в реальном масштабе времени загрузку процессора на сервере, то есть прикладной протокол должен обеспечивать передачу текущих показаний загрузки процессора на сервере по запросу клиента. В случае превышения заданного порога загрузки процессора (задается через пользовательский интерфейс клиента) клиентское приложение должно просигнализировать об этом (любой визуальный или звуковой эффект).

Народ, выручайте! Завтра сдавать, а у меня всё никак. Жаль
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 26-11-2013 17:56 » 

Нуууу дык. Показывай свой "никак". В чём проблема? Что именно не работает?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
spooky
Новенький

ru
Offline Offline
Пол: Женский

« Ответ #2 : 26-11-2013 18:11 » 

Ну, форму с кнопочками и эдитами забацать не проблема.  Я не знаю, как реализовать передачу показаний загрузки процессора. Пыталась искать исходники, ничего путного найти так и не получилось. Жаль
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 26-11-2013 19:09 » 

Цитата: spooky
Пыталась искать исходники
Есть более другие способы решения задач. Например, написать исходники самостоятельно.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #4 : 26-11-2013 19:23 » 

Димка, за 1 ночь? Даже не смешно.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 26-11-2013 19:26 » 

Это уже проблемы студента. Раньше надо было беспокоиться.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #6 : 26-11-2013 19:28 » 

Была бы *nix система и не требования программы. Можно было бы на bash скриптах примерно за полчаса решить проблему.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 27-11-2013 00:21 » 

Finch, ну в идеале это пишется за час даже на WinAPI, подсматривая в MSDN. Однако пару часов может занять проверка работы на разных машинах и отладка (тут главный риск с правами или брандмауэром попасть).

Дело не в том, что задача простая/сложная, или что любой студент обычно о принципах программирования в WinAPI, сокетах и т.п. не имеет целостной картины, а в том, что конкретная студентка в принципе не умеет решать инженерные задачи - не знает, как к этому подступиться. И не хочет знать: только поиск готовых решений.
« Последнее редактирование: 27-11-2013 00:25 от Dimka » Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
spooky
Новенький

ru
Offline Offline
Пол: Женский

« Ответ #8 : 27-11-2013 04:43 » 

Dimka, вы правы, студентка не умеет решать инженерные задачи, так как имеет лишь крохотные поверхностные знания.  И искала не сколько готовые решения, сколько хотя бы что-то похожее, чтобы по примерам попытаться насобирать что-то свое. Но так как разобраться не получилось, решила обратиться за помощью.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 27-11-2013 05:21 » 

spooky, посмотри SNMP «1.3.6.1.4.1.2021.11».
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
spooky
Новенький

ru
Offline Offline
Пол: Женский

« Ответ #10 : 27-11-2013 10:40 » 

В общем, вот что у меня получилось.
Клиентская и серверная программы пишутся раздельно.
Листинг клиента:

Код:
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"

#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
ClientSocket1->Address=Edit1->Text;
ClientSocket1->Active=true;
}

void __fastcall TForm1::Button2Click(TObject *Sender)
{
ClientSocket1->Active=false;
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
ClientSocket1->Socket->SendText(Edit1->Text);
}
void __fastcall TForm1::ClientSocket1Read(TObject *Sender,
      TCustomWinSocket *Socket)
{
Label2->Caption=(Socket->ReceiveText());
}
void __fastcall TForm1::Button4Click(TObject *Sender)
{
int p1=StrToInt(Label2->Caption);
int p2=StrToInt(Edit2->Text);
if(p2<p1){
MediaPlayer1->FileName="file.wav";
MediaPlayer1->Open();
MediaPlayer1->Play();
ShowMessage("Порог превышен");}
}

Листинг сервера:

Код:
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"

#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
ServerSocket1->Active=true;
}

void __fastcall TForm1::Button2Click(TObject *Sender)
{
ServerSocket1->Active=false;
}

void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{
Socket->ReceiveText();

//
//Сюда нужен кусочек, реализующий как раз таки передачу данных о загрузке процессора
//

}
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 27-11-2013 11:30 » 

spooky, если я правильно понял задачу, должен быть мониторинг состояния сервера. Т.е. как минимум в программе должен присутствовать таймер, по отсчётам которого периодически осуществляется сетевой обмен.

Далее, разумеется, встаёт вопрос о протоколе обмена: его нужно придумать и описать. Какие виды сообщений передаются с клиента на сервер и обратно, какая информация в этих видах сообщений содержится, каковы правила последовательности передаваемых сообщений (или отсутствие таких правил), как эти сообщения и информация кодируются в байты (или текст), чтобы быть переданными по сети.

Что касается сокетов, то надо понимать, как это работает, что такое адрес, какой сетевой протокол выбран (TCP/UDP) и порт, что такое прослушивание, соединение, приём и передача.

Ну и наконец знать, как в WinAPI заполучить число, характеризующее загрузку процессора. На самом деле это самый последний пункт, который в общем-то самый мелкий, потому что главное - отладить всё предыдущее на эмуляциях (например, сообщать клиенту, что загрузка якобы меняется по синусу, и как себя будет вести клиент). Интересен так же вопрос, что делать, когда загрузка превышена, музыка уже звучит, чтобы не срабатывали повторные сигнализации (или, наоборот, срабатывали, если это важно).

Цитата: spooky
так как имеет лишь крохотные поверхностные знания
И кто же в этом виноват?! И почему за твою провинность должны расплачиваться другие?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
spooky
Новенький

ru
Offline Offline
Пол: Женский

« Ответ #12 : 27-11-2013 16:55 » 

Dimka, Вы слишком все усложняете. Задача состоит в том, чтобы сервер посылал клиенту данные о загрузке процесса только по его запросу. Нажимаем кнопочку - получаем данные на текущий момент времени. То есть остался тот самый последний "мелкий" пункт - заполучить число, характеризующее загрузку процессора.

И каюсь в своем лентяйстве, дабы избежать дальнейших укоров.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #13 : 27-11-2013 18:22 » 

Для единообразия с UNIX можно использовать функцию GetSystemTimes, возвращающую три времени: время простоя, время ядра и время и пользовательских процессов. Очевидно, что запросив два раза с небольшой паузой эту информацию и поделив прирост времени простоя к длительности паузы, можно определить % свободного ресурса системы, а если его вычесть из 100%, то будет, наоборот, процент загрузки.

Это функция WinAPI. Подробности её вызова и формат структуры FILETIME нужно смотреть в MSDN.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 27-11-2013 20:48 » 

SNMP как раз и создано для того, чтобы получать информацию об удаленных сетевых устройствах по запросу. Какой смысл изобретать велосипед? Даже винда поддерживает (SNMP-сервер входит в комплект, но по умолчанию не ставится).
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #15 : 27-11-2013 22:01 » 

RXL, смысл тот, что в задании на лабу это не упомянуто.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #16 : 27-11-2013 23:50 » 

В заданиях часто многое не упомянуто.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
maikl
Читатель

ru
Offline Offline

« Ответ #17 : 24-11-2014 16:13 » 

Всем привет!....у меня такой подскажите пожалуйста -- вопрос как настроить VisualStudio 2013 ....winsock2, под написания программы TCP_Client - локального подключения....(точнее KeTCP_Clien)
вот ссылка на прогу № KA013
...........http://www.kernelchip.ru/articles/KA013.php
короче мне хотелось бы написать эту прогу с чистого проекта(от и до)...там какие-то настройки надо в студии наколдовать....., а то давно сижу ничего не получается , кто поможет тому буду Очень при Очень благодарен!!!!!! (может даже скину пятисотку на мыло)
« Последнее редактирование: 24-11-2014 16:21 от RXL » Записан
Diletant
Помогающий

de
Offline Offline

« Ответ #18 : 24-11-2014 16:42 » 

Всем привет!....у меня такой подскажите пожалуйста -- вопрос как настроить VisualStudio 2013 ....winsock2, под написания программы TCP_Client - локального подключения....(точнее KeTCP_Clien)
вот ссылка на прогу № KA013
...........http://www.kernelchip.ru/articles/KA013.php
короче мне хотелось бы написать эту прогу с чистого проекта(от и до)...там какие-то настройки надо в студии наколдовать....., а то давно сижу ничего не получается , кто поможет тому буду Очень при Очень благодарен!!!!!! (может даже скину пятисотку на мыло)


Ну, для начала, скачать и распаковать прилагаемый файл. Открыть в VS файл JeromConsol.dsw или .dsp, согласиться на конвертацию и откомпилировать проект. Если прнадобится,  установить WDK. (Хотя явно не видно, зачем, но все-таки Ke..)
А если уж хочется совсем с нуля, то создать пустой консольный проект и тупо переносить туда файл за файлом (или строчка за строчкой Улыбаюсь)
« Последнее редактирование: 24-11-2014 17:03 от Diletant » Записан
maikl
Читатель

ru
Offline Offline

« Ответ #19 : 24-11-2014 20:33 » 

......так вот в том то и проблема что создаю пустой консольный проект вставляю туда все три файла -- компилю, ничего не выходит, выдаёт кучу ошибок, exe.файл не формируется ....


Добавлено через 16 минут и 56 секунд:
....и потом конвертация с компеляцией у меня получается но не устраивает, слишком лёгкий вариант......мне хотелось бы создать этот проект так как создал его автор...............но как он это сделал?Не понял?....ломаю голову уж совсем....
и примеров - то нигде не найду..............

Добавлено через 11 часов, 58 минут и 57 секунд:
 Флаг тебе в руки!Diletant,
послушай помогающий, ты так хорошо начал мне помогать.....а потом всё куда-то пропало???.....тему заблокировали, не пойму почему,...(все такие умные)....а я наивные вопросы.....впрочем потому и наивные что времени терять не хочется(потому и за деньги рыбу прошу)
...........короче помоги ...........нужно то всего ли-ш создать проект на студии 13, проект создание консольного приложения KeTCP_Client на winsock2
« Последнее редактирование: 25-11-2014 08:49 от maikl » Записан
Diletant
Помогающий

de
Offline Offline

« Ответ #20 : 25-11-2014 12:16 » 

Флаг тебе в руки!Diletant,
послушай помогающий, ты так хорошо начал мне помогать.....а потом всё куда-то пропало???.....тему заблокировали, не пойму почему,...(все такие умные)....а я наивные вопросы.....впрочем потому и наивные что времени терять не хочется(потому и за деньги рыбу прошу)
...........короче помоги ...........нужно то всего ли-ш создать проект на студии 13, проект создание консольного приложения KeTCP_Client на winsock2
Ну не живу я на форуме, и вообще тут редко появляюсь. Улыбаюсь. Если ты не в состоянии определить причину ошибки компиляции, то чем я тебе могу помочь? Я же их не вижу, да и не особенно хочу видеть. Учи матчасть. Навскидку, если сконвертированный проект рвботает, то проверь у нового настройки include директорий при ошибках компилятора и список включаемых библиотек при ошибках линковщика . Или просто сравни саойства проектов: нового и сконвертированного.

Добавлено через 35 минут и 25 секунд:
PS. Совсем забыл. Постарайся устроить так, чтобы
 #include <Winsock2.h>
вызывался раньше
 #include <Windows.h>
 
Иначе есть щанс получить пару сотен ошибок компиляции. Это столетний баг VS, начиная уж не помню с какой версии.
« Последнее редактирование: 25-11-2014 12:52 от Diletant » Записан
maikl
Читатель

ru
Offline Offline

« Ответ #21 : 25-11-2014 15:11 » 

PS. Совсем забыл. Постарайся устроить так, чтобы
 #include <Winsock2.h>
вызывался раньше
 #include <Windows.h>
 
Иначе есть щанс получить пару сотен ошибок компиляции. Это столетний баг VS, начиная уж не помню с какой версии.

......сделал как ты и подсказал...............множество ошибок и вправду исчезло , но одна (глубоководная)  осталась -- error C4996: 'strcpy' --
--This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details.
..........попробовал #pragma warning(disable : 4996)  - не помогает
как сие устранить? Не понял
Записан
darkelf
Молодой специалист

no
Offline Offline

« Ответ #22 : 25-11-2014 15:37 » 

PS. Совсем забыл. Постарайся устроить так, чтобы
 #include <Winsock2.h>
вызывался раньше
 #include <Windows.h>
 
Иначе есть щанс получить пару сотен ошибок компиляции. Это столетний баг VS, начиная уж не помню с какой версии.

......сделал как ты и подсказал...............множество ошибок и вправду исчезло , но одна (глубоководная)  осталась -- error C4996: 'strcpy' --
--This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details.
..........попробовал #pragma warning(disable : 4996)  - не помогает
как сие устранить? Не понял
Вам компилятор уже подсказал, как устранить - надо или перейти на strcpy_s или определить макрос _CRT_SECURE_NO_WARNINGS и отключить трактовку этого предупреждения в качестве ошибки. Попробуйте поискать по интернетам слово _CRT_SECURE_NO_WARNINGS, думаю, Вы найдёте рецепт.
« Последнее редактирование: 25-11-2014 15:39 от darkelf » Записан
maikl
Читатель

ru
Offline Offline

« Ответ #23 : 26-11-2014 14:34 » 

PS. Совсем забыл. Постарайся устроить так, чтобы
 #include <Winsock2.h>
вызывался раньше
 #include <Windows.h>
 
Иначе есть щанс получить пару сотен ошибок компиляции. Это столетний баг VS, начиная уж не помню с какой версии.

......сделал как ты и подсказал...............множество ошибок и вправду исчезло , но одна (глубоководная)  осталась -- error C4996: 'strcpy' --
--This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details.
..........попробовал #pragma warning(disable : 4996)  - не помогает
как сие устранить? Не понял
Вам компилятор уже подсказал, как устранить - надо или перейти на strcpy_s или определить макрос _CRT_SECURE_NO_WARNINGS и отключить трактовку этого предупреждения в качестве ошибки. Попробуйте поискать по интернетам слово _CRT_SECURE_NO_WARNINGS, думаю, Вы найдёте рецепт.
ошибку вроде заблокировал #define _CRT_SECURE_NO_WARNINGS......но вот
 появилось много других ошибок KeTCP_Client.obj :  error LNK2019: ссылка на неразрешённый внешний символ......
.я так понимаю надо KeTCP_Client.obj указать на  библиотеку внешних символов?Не понял? .........или KeTCP_Client.obj не может связаться с символами КeTCP_Client.cpp Не понялНе понял
.............голова кругом идёт, помогите пожлст
Записан
darkelf
Молодой специалист

no
Offline Offline

« Ответ #24 : 27-11-2014 07:44 » 

ошибку вроде заблокировал #define _CRT_SECURE_NO_WARNINGS......но вот
 появилось много других ошибок KeTCP_Client.obj :  error LNK2019: ссылка на неразрешённый внешний символ......
.я так понимаю надо KeTCP_Client.obj указать на  библиотеку внешних символов?Не понял? .........или KeTCP_Client.obj не может связаться с символами КeTCP_Client.cpp Не понялНе понял
.............голова кругом идёт, помогите пожлст
Попытайтесь рассказывать свою ситуацию более подробно и внятно. Какого внешнего символа не хватает? Пожалуйста, ознакомьтесь с http://citforum.ru/howto/smart-questions-ru.shtml - это поможет Вам более правильно задавать вопросы и быстрее получать помощь.
Записан
maikl
Читатель

ru
Offline Offline

« Ответ #25 : 27-11-2014 09:31 » 

рассказываю ситуацию свою ситуацию более подробно:-
мне нужно создать проект(с чистого листа) так как это создавал Дмитрий Иванов, когда то....только не на VS6 а на VS2012 (ссылка: http://www.kernelchip.ru/articles/KA013.php
.....что я делаю: создаю новый пустой консольный проект, открываю файлы(распакованные):JeromeConsol.cpp     KeTCP_Client.cpp    KeClient.h - присоединяю их к проекту ....компилирую....exe файл не создаётся.....после многочисленных корректировок над ошибками не могу исправить error LNK2019: .....
1>------ Сборка начата: проект: JeromeConsoleA, Конфигурация: Debug Win32 ------
1>  Пропуск... (изменения не обнаружены)
1>  KeTCP_Client.cpp
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ ___WSAFDIsSet@8 в функции "public: int __thiscall KeTCP_Client::Recv(char *,long)" (?Recv@KeTCP_Client@@QAEHPADJ@Z)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__closesocket@4 в функции "public: bool __thiscall KeTCP_Client::Disconnect(void)" (?Disconnect@KeTCP_Client@@QAE_NXZ)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__connect@12 в функции "public: bool __thiscall KeTCP_Client::Reconnect(void)" (?Reconnect@KeTCP_Client@@QAE_NXZ)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__getsockname@12 в функции "public: bool __thiscall KeTCP_Client::Reconnect(void)" (?Reconnect@KeTCP_Client@@QAE_NXZ)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__htons@4 в функции "public: bool __thiscall KeTCP_Client::Reconnect(void)" (?Reconnect@KeTCP_Client@@QAE_NXZ)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__inet_addr@4 в функции "public: bool __thiscall KeTCP_Client::Reconnect(void)" (?Reconnect@KeTCP_Client@@QAE_NXZ)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__inet_ntoa@4 в функции "public: bool __thiscall KeTCP_Client::Reconnect(void)" (?Reconnect@KeTCP_Client@@QAE_NXZ)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__recv@16 в функции "public: int __thiscall KeTCP_Client::Recv(char *,long)" (?Recv@KeTCP_Client@@QAEHPADJ@Z)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__select@20 в функции "public: int __thiscall KeTCP_Client::Recv(char *,long)" (?Recv@KeTCP_Client@@QAEHPADJ@Z)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__send@16 в функции "public: bool __thiscall KeTCP_Client::Send(char *,long)" (?Send@KeTCP_Client@@QAE_NPADJ@Z)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__setsockopt@20 в функции "public: bool __thiscall KeTCP_Client::Reconnect(void)" (?Reconnect@KeTCP_Client@@QAE_NXZ)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__socket@12 в функции "public: bool __thiscall KeTCP_Client::Reconnect(void)" (?Reconnect@KeTCP_Client@@QAE_NXZ)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__gethostbyname@4 в функции "public: bool __thiscall KeTCP_Client::Reconnect(void)" (?Reconnect@KeTCP_Client@@QAE_NXZ)
1>KeTCP_Client.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__WSAStartup@8 в функции "private: bool __thiscall KeTCP_Client::MakeInitiolization(void)" (?MakeInitiolization@KeTCP_Client@@AAE_NXZ)
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup
1>C:\Users\User\Documents\Visual Studio 2013\Projects\JeromeConsoleA\Debug\JeromeConsoleA.exe : fatal error LNK1120: неразрешенных внешних элементов: 15
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

   
Записан
maikl
Читатель

ru
Offline Offline

« Ответ #26 : 27-11-2014 09:38 » 

...и вообще мне не понятно что это за файл - KeTCP_Client.cpp всдедствии чего он образовался?Не понял......ведь это "эталон" так сказать
почему нельзя собрать проект с двумя файлами: JeromeConsol.cpp и KeTCP_Client.h........
 
Записан
zubr
Гость
« Ответ #27 : 27-11-2014 09:53 » 

Статическую библиотеку надо подключить Ws2_32.lib
Записан
maikl
Читатель

ru
Offline Offline

« Ответ #28 : 27-11-2014 09:58 » 

.........подключал ........не получается
Записан
Diletant
Помогающий

de
Offline Offline

« Ответ #29 : 27-11-2014 10:09 » 

.........подключал ........не получается

Не верю!(С). Значит неправильно подключал. Например, не к той конфигурации.
Записан
Страниц: [1] 2  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines