Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Программисты долго мучаются с кодом прогаммы, изучают С++, WinAPI функции, MSDN. Потом пишут банальную систему защиты или навешивают банальный протектор, а крэкеры и реверсеры справляются с такой защитой за 5 минут. В итоге, продажи программы почти нулевые. Чтобы такого не допустить, тут самому надо немного поднабрать опыта отладки, реверсинга, тот же отладчик Ollydbg изучить или дизассемблер IDA Pro. Но где искать по крохам эти знания? Нет, конечно можно годами "методом тыка" разбираться, но куда быстрее видеокурс специальный посмотреть. Вот тут он есть: ссылка. Автор курса с большим опытом и объясняет понятно, я из этого курса много узнал про то как работает компьютер, процессор, про инструменты специальные и как с ними работать. Мои коллеги программисты на работе ничего такого и не знают, теперь я им нос утру.
Работа с сокетами на VCL
A: (Del)
Оригинальная ссылка: нету

Нам надо переслать текст с одного компа на другой (это простейший пример, от него идут все остальные)

1 комп (клиент, посылает сообшение) - прога №1
2 комп (сервер, принимает его)- пргоа №2

Прога №1:
TClientSocket1 кидаем на форму.
Заполняем поля:
ClientSocket1->Port = 1100; // почти любой, лучше после 1000
 
 ClientSocket1->Host = "Server"; // кому идёт мессага
Коннектимся к серваку:
ClientSocket1->Open(); //можно ClientSocket1->Active = true; 
Отсылаем мессагу:
ClientSocket1->Socket->SendText("Хай!"); // это сообшение получит сервер
Прога №2:
ServerSocket1 кидаем на форму.
Заполняем поля:
ServerSocket1->Port = 1100; // должен быть одинаковым с клиентом
Функция обработчик события "Пришла мессага":
void __fastcall TfmMain::ServerSocket1ClientRead (TObject *Sender, TCustomWinSocket *Socket)
 
 {     AnsiString sMsg = Socket->ReceiveText(); // полученный текст
 
     ShowMessage(sMsg);
 
 }
Как серверу послать мессагу клиенту?

Используя ServerSocket1->Socket->Connections[i ]->SendText("Текст мессаги для клиента");

i - номер соединения, т.е. для отправки мессаг всем присоединившимся к серверу надо:
for (int i = 0; i < ServerSocket1->Socket->ActiveConnections; i++)
 
 ServerSocket1->Socket->Connections[i ]->SendText("Текст мессаги для клиента"); 
Соответственно послать мессагу последнеиу присоединившемуся к серверу:
int lu = ServerSocket1->Socket->ActiveConnections - 1;
 
 ServerSocket1->Socket->Connections[lu]->SendText("Текст последнему клиенту"); 
У клиента функция-обработчик события пришла мессага аналогичен серверному, называеться
void __fastcall TfmMain::ClientSocket1Read (TObject *Sender, TCustomWinSocket *Socket) 
Закрыть соединение:
для клиента: ClientSocket1->Close();
для сервера: ServerSocket1->Close();

Узнать имя своего компа в сети:
ServerSocket1->Open();
 
 AnsiString CompName = ServerSocket->Socket->LocalHost;
 
 ServerSocket1->Close();



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS