Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

icq: 429499499
skype: keyner910
Восклицание Работа с 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
Репутация: 10
По умолчанию

хотя бы ошибку написали что ли...
Apchi вне форума   Ответить с цитированием
Старый 21.02.2012, 10:51   #3
Aliens_wolfs
Участник клуба
 
Регистрация: 16.12.2009
Адрес: WWW ЛЕНИНГРАД СПб точка РУ
Сообщений: 839
Репутация: 435
По умолчанию

Цитата:
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
Репутация: 10
По умолчанию

"
Код:

cs.Socket.SendText('FORCE');//посылаем серверу комманду FORCE
cs.Socket.SendText('MSG'+edit2.text);//посылаем серверу комманду FORCE

"
ЦИТИРУЯ ЧУЖОЙ КОД, ХОТЯ БЫ ИСПРАВЛЯЙТЕ ЯВНЫЕ ОПЕЧАТКИ АВТОРОВ.
shatun6 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа 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


16:46.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru