ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 20.11.2008, 23:22
_Kris_
Познающий
Регистрация: 22.07.2008
Сообщений: 62
Провел на форуме:
304390

Репутация: 172
По умолчанию

Цитата:
Сообщение от ronald  
omg...
Куда катится мир?
А слабо встроить код из дельфи в страничку и держать там?:
1. Создаёшь ActiveX форму
2. Project -> Web Deployment Options
3. Пишешь нужный код
4. Project-> Web Deploy
5. Подключить готовое сам, думаю разберёшься, если что постучи в асю
Инфа по теме:
http://www.codenet.ru/progr/other/delphocx.php
http://www.codenet.ru/progr/delphi/ax_ie.php
--------------------------------------------------------------
Зы: Доберман, тя что забанили?

Ты хакир...
Пиздос...
На*** такие выебоны если легче сделать CGI на дельфах?[Даже кстати можно на паскале...]
И вообще на*** тут HTTP???
Давай тогда через Oscar, заодно и с QIP' ом пообщаемся...
И вообще сервак можно на питоне написать...
и клиент тоже на питоне...
---
Можно на С++, можно на С# клиента написать, да и сервак на С++ можно...

Конечно же есть разница на чем писать, но тс вроде попросил сервак на пыхопэ, а клиент на делфи.
А по теме, WinSock те в помощь(и два путеводителя это Google и MSDN)
Лучше будет писать на сокетах, wininet тут не годится...
Если сложно на сокетах, можешь использовать стандартный контрол от Макрософт [подключи в дельфе как активекс] (Microsoft Winsock Control), еще можно через TidTCPClient работать...
Вообщем варианты я сказал...дальше ориентируйся на свои возможности и выбирай на свой вкус.

Код:
P.S.     Набери в гугле: Клиент - сервер DELPHI
P.p.s.  Результаты 1 - 10 из примерно 117 000 для Клиент - сервер DELPHI. (0,23 секунд) 
ты прикинь как....

Последний раз редактировалось _Kris_; 20.11.2008 в 23:29..
 

  #12  
Старый 20.11.2008, 23:49
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

Задача тривиальна, развили тут флейм.
Обычный ДДоС червь использует подобную схему, идея есть - реализуй.
 

  #13  
Старый 20.11.2008, 23:57
200 OK
Новичок
Регистрация: 20.11.2008
Сообщений: 7
Провел на форуме:
22496

Репутация: 1
Отправить сообщение для 200 OK с помощью ICQ
По умолчанию

Как и обещал, выкладываю:

Сервер на php, использую стандартный пример из мануала, при коннекте с клиентом посылает ему сообщение string(39) "Hello! The time is 11/20/2008 10:29 pm " такого вида, + если клиент что то отправляет, то string(23) "You have sent : тут echo клиента "

PHP код:
<?php

$master 
= array();
$socket stream_socket_server("tcp://localhost:10001"$errno$errstr);
if (!
$socket) {
    echo 
"$errstr ($errno)<br />\n";
} else {
    
$master[] = $socket;
    
$read $master;
    while (
1) {
        
$read $master;
        
$mod_fd stream_select($read$_w NULL$_e NULL5);
        if (
$mod_fd === FALSE) {
            break;
        }
        for (
$i 0$i $mod_fd; ++$i) {
            if (
$read[$i] === $socket) {
                
$conn stream_socket_accept($socket);
                
fwrite($conn"Hello! The time is ".date("n/j/Y g:i a")."\n");
                
$master[] = $conn;
            } else {
                
$sock_data fread($read[$i], 1024);
                
var_dump($sock_data);
                if (
strlen($sock_data) === 0) { // connection closed
                    
$key_to_del array_search($read[$i], $masterTRUE);
                    
fclose($read[$i]);
                    unset(
$master[$key_to_del]);
                } else if (
$sock_data === FALSE) {
                    echo 
"Something bad happened";
                    
$key_to_del array_search($read[$i], $masterTRUE);
                    unset(
$master[$key_to_del]);
                } else {
                    echo 
"The client has sent :"var_dump($sock_data);
                    
fwrite($read[$i], "You have sent :[".$sock_data."]\n");
                    
fclose($read[$i]);
                     unset(
$master[array_search($read[$i], $master)]);
                }
            }
        }
    }
}
?>

Далее часть на дельфах

Создаю форму с елементами Button1, Memo1, компонентами IdTCPClient1, и IdThreadComponent1(чтоб не виснула прога создаем отдельный поток.

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdThreadComponent, StdCtrls, IdComponent,
  IdTCPConnection, IdTCPClient;

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdThreadComponent1: TIdThreadComponent;
    IdTCPClient1: TIdTCPClient;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure IdThreadComponent1Run(Sender: TIdThreadComponent);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
IdThreadComponent1.Start;
end;

procedure TForm1.IdThreadComponent1Run(Sender: TIdThreadComponent);
begin
IdTCPClient1.Host:='92.63.110.20';
IdTCPClient1.Port:=10001;
IdTCPClient1.Connect;
IdTCPClient1.SendCmd('Heloo serv',Memo1.Text);
end;

end.
Тоисть после нажатия Button1, мы должны отправить сообщение Heloo serv, и получить в ответ в Memo1
Вместо радости получаю
Исключение класса EidException с сообщением 'Reply Code is not valid :Hel'.
Где Hel это по всей видимости ответ сервера "Hello! The t ......

Помогите йопт

p.s. порт будет открыт, пробуйте

Последний раз редактировалось 200 OK; 21.11.2008 в 00:19..
 

  #14  
Старый 21.11.2008, 00:01
200 OK
Новичок
Регистрация: 20.11.2008
Сообщений: 7
Провел на форуме:
22496

Репутация: 1
Отправить сообщение для 200 OK с помощью ICQ
По умолчанию

Цитата:
Сообщение от _Kris_  
Код:
P.S.     Набери в гугле: Клиент - сервер DELPHI
P.p.s.  Результаты 1 - 10 из примерно 117 000 для Клиент - сервер DELPHI. (0,23 секунд) 
ты прикинь как....
Да, не спорю ! Клиент сервер Дельфи - есть много примеров и ответов! Но поищи мне ответ на мой вопрос где СЕРВЕРОМ есть машина под unix'ом с использованием php
 

  #15  
Старый 21.11.2008, 04:09
200 OK
Новичок
Регистрация: 20.11.2008
Сообщений: 7
Провел на форуме:
22496

Репутация: 1
Отправить сообщение для 200 OK с помощью ICQ
Wink

Ура, сделал без потока на стандартном компоненте TcpClient - работает, кроме компоненты тут две кнопки, лейбл, и мемо
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    TcpClient1: TTcpClient;
    Button1: TButton;
    Label1: TLabel;
    Button2: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure TcpClient1Connect(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
TcpClient1.RemoteHost:='92.63.110.20';
TcpClient1.RemotePort:='10001';
TcpClient1.Connect;


end;

procedure TForm1.TcpClient1Connect(Sender: TObject);
begin
Label1.Caption:='Is connected';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
TcpClient1.Open;
TcpClient1.Sendln('Hello');
Memo1.Text:=TcpClient1.Receiveln();
TcpClient1.Close;
end;

end.
Будем писать дальше
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ