Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2012, 20:12   #1
mroff
Пользователь
 
Аватар для mroff
 
Регистрация: 16.07.2011
Сообщений: 21
Восклицание Работа с clientsocket и serversocket

Создаём новый проект и кидаем на форму clientsocket с вкладки internet, 2 edit- в них будем писать ип к которому будем коннектиться и текст мессаги, 8 button- которые будут посылать серверу команды "так же memo там будет лог".
создаем клиент!
OnCreate пишем:
Код:
cs.Host:=edit1.Text; //Наш хост, тобиш ип который вы будете вписывать в edit1
cs.port:=123; //Указываем порт в нашем случае инфа будет передоваться через 123 порт
теперь у в обработчике собития OnClick кнопки "Коннект" пишем код:

var s:string;
begin
cs.Active:=true; //Коннектимся
if cs.Socket.Connected=true then begin //Если подключились то
memo1.lines.add('Соединение установленно...'); //пишим в memo
end else //в противном случае пишим это
memo1.lines.add('Соединение неустановленно...'); //<--вот это
теперь у кнопки "Дисконнект"
Код:
cs.Close; //Закрываем сокет
memo1.lines.add('Соединение закрыто!'); //пишим в memo
теперь у кнопки "Открыть сидюк"
cs.Socket.SendText('CDOPEN');//посылаем серверу комманду CDOPEN
теперь у кнопки "Закрыть сидюк"
Код:
cs.Socket.SendText('CDCLOSE');//посылаем серверу комманду CDCLOSE
теперь у кнопки "Потушить монитор"
Код:
cs.Socket.SendText('MONIKOFF');//посылаем серверу комманду MONIKOFF
теперь у кнопки "Ребутнуть удалённый"
Код:
cs.Socket.SendText('FORCE');//посылаем серверу комманду FORCE
теперь у кнопки "Послать сообщение"
Код:
cs.Socket.SendText('MSG'+edit2.text);//посылаем серверу комманду FORCE
НАПОМИНАЮ CS - clientsocket сменим имя на cs клиент готов посмотрите может где что не так?
а теперь СЕРВЕР

На форму кидаем serversocket с вкладки internet
У формы в событии OnCreate пишем
Код:
serversocket1.port:=123;//Назначаем порт
serversocket1.active:=true//начинаем слушать порт
Теперь у компонента serversocket1 в событии clientread пишем код
Код:
var s:string; //обьявляем переменную в которой будут храниться данный которые пришли от клиента
begin
s:=socket.ReceiveText; //присвиваем переменной s текст который пришёл от клиента
if s='CDOPEN' then //если CDOPEN то открыть сидюк
mciSendString('Set cdaudio door open wait', nil, 0, handle);ТУТ ВЫДАЕТ ошибку почему?
if s='CDCLOSE' then //если CDCLOSE значит закрыть сидюк
mciSendString('Set cdaudio door closed wait', nil, 0, handle);
if s='MONIKOFF' then //Если пришла комманда MONIKOFF значит вырубаем монитор
SendMessage(form1.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 1);
if s='FORCE' then //Если пришла комманда FORCE то вырубаем комп
ExitWindowsEx(EWX_FORCE or ewx_force,0);
if copy(s,1,3)='MSG' then //копируем первые 3 символа, если они равняються коммане MSG значит вывести мессагу
Messagebox(0,pchar(copy(s,4,length(s))),'Message',0);
mroff вне форума Ответить с цитированием
Старый 20.02.2012, 21:05   #2
Apchi
 
Регистрация: 08.09.2011
Сообщений: 5
По умолчанию

хотя бы ошибку написали что ли...
Apchi вне форума Ответить с цитированием
Старый 21.02.2012, 10:51   #3
Aliens_wolfs
Форумчанин
 
Регистрация: 16.12.2009
Сообщений: 902
По умолчанию

Цитата:
mciSendString('Set cdaudio door open wait', nil, 0, handle);ТУТ ВЫДАЕТ ошибку почему?
В Uses проекта своего добавте mmsystem и ошибки не будет

Примерно так:
Код:
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, mmsystem;

Последний раз редактировалось Aliens_wolfs; 21.02.2012 в 10:57.
Aliens_wolfs вне форума Ответить с цитированием
Старый 08.07.2012, 20:25   #4
shatun6
Новичок
Джуниор
 
Регистрация: 08.07.2012
Сообщений: 1
По умолчанию

"
Код:
cs.Socket.SendText('FORCE');//посылаем серверу комманду FORCE
cs.Socket.SendText('MSG'+edit2.text);//посылаем серверу комманду FORCE
"
ЦИТИРУЯ ЧУЖОЙ КОД, ХОТЯ БЫ ИСПРАВЛЯЙТЕ ЯВНЫЕ ОПЕЧАТКИ АВТОРОВ.
shatun6 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа ServerSocket ClientSocket с внешним ip Anton911 Работа с сетью в Delphi 21 28.08.2011 12:06
Работа с ServerSocket и ClientSocket ***СкаЙ*** Работа с сетью в Delphi 3 22.05.2010 14:09
Работа с ClientSocket и ServerSocket из консоли D_E_N Работа с сетью в Delphi 6 28.07.2009 00:27
Работа с ServerSocket и ClientSocket AlDelta Работа с сетью в Delphi 12 28.09.2008 11:18
Работа с Clientsocket и Serversocket prizrak1390 Работа с сетью в Delphi 3 26.04.2008 22:59