Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.17;
Скачать: CL | DM;

Вниз

Sokcet   Найти похожие ветки 

 
Filya   (2004-08-09 16:35) [0]

Мастера подскажите. Я отправляю с клиента строку "asd", а на сервере получаю какуюто ерунду использую функция write().


 
MetalFan ©   (2004-08-09 16:49) [1]

круто!
а функцию read() используешь? )))


 
Digitman ©   (2004-08-09 16:51) [2]


> отправляю с клиента строку "asd", а на сервере получаю какуюто
> ерунду использую функция write().


продолжай в том же духе
это же так интересно - запутать вражескую разведку


 
Filya   (2004-08-09 17:05) [3]

Все вам хиханьки да хаханьки :-))
Код на стороне клиента:
 login:=edit4.Text+#10;
 password:=edit5.Text+#10;
 MySocket.Write(login, length(login));
 MySocket.Write(password, length(password));
Код на стороне сервера:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
 Socket: TCustomWinSocket);
begin
 memo1.Lines.Insert(0, Socket.ReceiveText);
end;


 
Digitman ©   (2004-08-09 17:09) [4]


> Filya   (09.08.04 17:05) [3]


Филь, а Филь .. ты эт .. серьезно что ли ?
Просвети нас, яйцеголовых, write() это метод какого класса ?


 
Filya   (2004-08-09 17:15) [5]

Прошу прощения за неполную информацию.
Код:
procedure TForm1.ClientSocket1Connect(Sender: TObject;
 Socket: TCustomWinSocket);
var c: Char;
    MySocket: TWinSocketStream;
    login,password: string;
begin
 MySocket:= TWinSocketStream.Create(Socket, 6000);
 login:=edit4.Text+"#10";
 password:=edit5.Text+"#10";
 MySocket.Write(login, length(login));
 MySocket.Write(password, length(password));
 memo1.Lines.Insert(0, BoolToStr(ClientSocket1.Active));
 StatusBar1.Panels[0].Text:="Соединение установленно";
 MySocket.Free;
end;


 
Digitman ©   (2004-08-09 17:21) [6]

MySocket.WriteBuffer(PChar(login)^, length(login));
MySocket.WriteBuffer(PChar(password)^, length(password));

!!


 
Digitman ©   (2004-08-09 17:23) [7]


> MySocket.Free


а это что за хрень ?!


 
Filya   (2004-08-09 17:28) [8]

> Digitman ©   (09.08.04 17:21) [6]

Спасибо. Помогло. Если можно в двух словах из-за чего это.


 
Digitman ©   (2004-08-09 17:31) [9]


> Filya   (09.08.04 17:28) [8]


в 2-х словах это описано в любом букваре по ОbjectPascal"ю ....
+ исх.тексты


 
Filya   (2004-08-09 17:35) [10]

Освобождаю объект.
Вобще пример написан на основе статьй "Программирование серверов на основе сокетов в Дельфи" и  "Программирование сокетов в Дельфи". Потому как возникла необходимость.


 
Digitman ©   (2004-08-09 17:38) [11]

о боже !


 
Filya   (2004-08-09 17:44) [12]

че все так запущенно :-))
ну вот с "WriteBuffer(PChar(login)^" этим я уже разобрался.
Ну может мои вопросы и глупы, но надо ведь когдато в этом разобратся.


 
Digitman ©   (2004-08-09 17:47) [13]


> Filya   (09.08.04 17:44) [12]


а исх.тексты зачем ?


 
Filya   (2004-08-09 17:52) [14]

в исходных так и написано :-((
цитата с исходника:
procedure TForm1.ClientSocket1Connect(Sender: TObject;
 Socket: TCustomWinSocket);
var c: Char;
    MySocket: TWinSocketStream;
    login,password: string;
begin
 MySocket := TWinSocketStream.Create(Socket,60000);
 {Добавляем к логину и паролю символ перевода строки, чтобы сервер смог отделить логин и пароль.}
 login := Edit3.Text;
 password := Edit4.Text;
 MySocket.Write(login,Length(Edit3.Text));
 MySocket.Write(password,Length(Edit4.Text));
 while not MySocket.WaitForData(100) do
   Application.ProcessMessages;
 MySocket.Read(c,1);
 {Здесь сервер посылает нам один байт, значение 1 которого соответствует подтверждению успешной авторизации, а 0 - ошибку (это лишь пример). Далее мы выполняем нужные действия (прием/пересылку данных) и закрываем поток.}
 MySocket.Free;
end;


 
Digitman ©   (2004-08-09 17:55) [15]


> Filya   (09.08.04 17:52) [14]
> в исходных так и написано


нет таких "исходников" .. и быть не может. потому что это - бред
и не выдумывай


 
Filya   (2004-08-09 18:00) [16]

Дам ссылку:
http://www.delphimaster.ru/articles/sockets/index.html
http://www.delphimaster.ru/articles/socksrv/index.html
Так что я говорю не на пустом месте.


 
Digitman ©   (2004-08-09 18:22) [17]

оххх ... увидеть бы этого Кариха ! да сказать о его "творчестве" все что думается ...


 
Filya   (2004-08-09 18:28) [18]

Ну а тебе спосибо за учение.
Если можно дай ссылку на нормальные статьй по сокетам, конечно если таковые имеются.


 
Digitman ©   (2004-08-09 18:34) [19]


> Filya   (09.08.04 18:28) [18]


лучшее "начало"  - с теории

залезь, скажем, сюда

http://book.itep.ru  разделы "Протокол TCP/IP", "Winsock"

и не вылазь оттуда до полного просветления

а исх.тексты TClient/Serversocket (scktcomp.pas) будут тебе путеводной звездой


 
Filya   (2004-08-10 09:14) [20]

Еще раз спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.10.17;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.026 c
3-1095676473
Denniro
2004-09-20 14:34
2004.10.17
как правельно подключиться к базе с помощью ADO


3-1095328408
Bolat
2004-09-16 13:53
2004.10.17
Взять значение поля с другой таблицы


1-1096541936
Мирон
2004-09-30 14:58
2004.10.17
Потоки мешаю друг другу


3-1095540828
pashaz
2004-09-19 00:53
2004.10.17
Состояние датасета


3-1095565007
hawkins
2004-09-19 07:36
2004.10.17
скриптование таблиц