Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Консольное приложение и сокеты

2.8K
23 января 2003 года
alexe
3 / / 22.01.2003
Как создать клиента (сокет) из консольного приложения, используя например TClientSocket
3.0K
24 января 2003 года
mwolf
4 / / 16.01.2003
А чё сокеты в рил-тайм уже не создаются?
Сделай модуль в котором будет объект(напр. TPapa) от TComponent.В нем cделай процедуры, которые будут обработчиками событий твоего сокета.
В dpr надо сделать так:
var
cs: TClientSocket;
Papa: TPapa;
begin
Papa := TPapa.Create;
cs := TClientSocket.Create(nil);
cs.Port := ...;
//Вобщем прописываешь поля какие надо
//ну и обработчики прикручиваешь
cs.OnConnect := Papa.MyConnect;
...
//делаешь цикл для сообщений Винды
while GetMessage(Mesg,0,0,0) do
begin
TranslateMessage(Mesg);
DispatchMessage(Mesg);
end;
end.
Компили и наслаждайся. У меня подобная прога получилась 150к на Делфи5.
2.8K
24 января 2003 года
alexe
3 / / 22.01.2003
Я примерно так и сделал =о)
а как сделать обработку нажатия кнопок на клаве помимо Read() не знаю .. а Read тормозит соотв-но передачу и прием сообщений ....

КАК >> если можно примерчик ...

var
Cons: TConsClientSocket;
s: string;
hWnd: THandle;
Msg: TMsg;

begin
hWnd := CreateWindow(sClassName, '', WS_OVERLAPPEDWINDOW, 0, 0, 0, 0, 0, 0, hInstance, NIL);
Cons := TConsClientSocket.Create(nil);
with Cons do begin
ClientType := ctNonBlocking;
Port := 1212;
Address := '10.54.0.51';
Active := True;
end;
while GetMessage(Msg, HWnd, 0, 0) do begin
TranslateMessage(Msg);
DispatchMessage(Msg);
if UpperCase(s) = 'EXIT' then begin
Readln(s);
Break
end else //Cons.Socket.SendText(sc_MSG + s);
end;
Halt(Msg.wParam);
end.
3.0K
25 января 2003 года
mwolf
4 / / 16.01.2003
Hi Alexe.
Дабы не загружать сервак и форум можешь писать на [email]mwolf@rambler.ru[/email] . Насчёт вопроса, чесно говоря, не понял, что собсно говоря надо то. Моя прога была чё то типа сервиса, и с клавой не работала. Объясни, что ты собираешься сделать.
А так, могу лишь порекомендовать ставить серверный сокет на поток(или многопоточным сделать), тады моно будет сделать, чтоб клавой что-то вправлять в процесе работы.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог