FAQ по C/C++/Visual C++
Работа с сетью Работа с сокетами на VCL |
Составители: SUnteXx, Leprecon |
Работа с сокетами на VCL | |||
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(); |
Нам надо переслать текст с одного компа на другой (это простейший пример, от него идут все остальные) |||
|
FAQ составлен по материалам Форума на Исходниках.Ру. Copyright © 2002 by Sources.ru. All rights reserved. |