Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

отправка пакета ( TcpClient )   Найти похожие ветки 

 
Дмитрий   (2010-03-15 01:33) [0]

Доброго времени суток. Я начинающий ( совсем начинающий ) программист и с одной задачкой зашёл в тупик. Задача такая :
имеется пакет в таком виде
05 00 15 0C 00 00 00 00 00 00 00 00 00 00 00 00
и его нужно отправить на сервер ... Загвоздка у меня в том, что я не могу его как либо преобразовать, некоторые пакеты "в нормальном" виде у меня удалось отправить, а вот с пакетом такого вида проблемма
var
i:Integer;
ip_con:String;
l:String;
begin
ip_con:="***.***.***.***;
for i:=38700 to 38710 do
begin
TcpClient2.RemoteHost:=ip_con;
TcpClient2.RemotePort:=IntToStr(i);
TcpClient2.Open;
if TcpClient2.Connected then
begin
showmessage("ЛяЛяЛяЛя");
TcpClient2.Sendln(??????????????????);

И вот как пакет 05 00 15 0С отправить через TcpClient2.Sendln(); у меня никак не получается.

Буду рад любой помощи )


 
Eraser ©   (2010-03-15 05:15) [1]

в tcp/ip с т.з. пользователя нет никаких пакетов, используй UDP, а лучше, для начала почитай книжку про сети и протоколы.


 
Дмитрий   (2010-03-15 07:30) [2]

Ну а вообще, возможно будет отправить этот пакет ?


 
Сергей М. ©   (2010-03-15 08:26) [3]

Возможно.
И проще всего это сделать в блокирующем режиме работы клиентского сокета.


 
NBAH1990   (2010-03-15 20:06) [4]

Почему не использовать Client\Server-Socket ?


 
RGV ©   (2010-03-19 06:15) [5]

пробуй так:

procedure TForm1.Button1Click(Sender: TObject);
var
 buf:array[0..255] of byte;
 hexStr:string;
 i,j:integer;
 Function HextoDec(s:string):integer;
 const
   h = "123456789ABCDEF";
 begin
   result:=0;
   s:=Uppercase(s);
   result:=pos(s[1],h)*16;
   result:=result+pos(s[2],h);
 end;
begin
 HexStr:=edit1.text;// "0500150C000000000000000000000000"
 j:=0;
 for i:=1 to Length(HexStr) do
   if i mod 2 =1 then
   begin
     buf[j]:=HexToDec(Copy(HexStr,i-1,2));
     inc(j);
   end;
 IdTCPClient1.Host:=HostEdit.text;
 IdTCPClient1.Port:=PortSpinEdit.Value;
 try
   IdTCPClient1.Connect;
   if IdTCPClient1.Connected then
   begin
     IdTCPClient1.WriteBuffer(buf,j);
     IdTCPClient1.Disconnect;
   end;
 except
   on e:Exception do Showmessage(e.Message);
 end;

end;

не проверял но должно работать ;)


 
RGV ©   (2010-03-19 06:22) [6]

сори вот это if i mod 2 =1 then надо переписать на это if i mod 2 =0 then


 
RGV ©   (2010-03-19 06:22) [7]

сори вот это if i mod 2 =1 then надо переписать на это if i mod 2 =0 then


 
Дмитрий   (2010-03-20 04:48) [8]

Ой, ребят, большое спасибо, помогла, правда немного по другому сделал ...

Но возник ещё вопрос, как сделать проверку на отклик сервера ... ?
( ну т.е. я отправил вот этот пакет, и жду пока сервер мне ответит ( пришлёт какой-нибудь пакет), и тогда в ответ, ему следующий пакет )


 
Сергей М. ©   (2010-03-20 18:20) [9]


> Дмитрий   (20.03.10 04:48) [8]


Ты не проникся про режим.
От выбранного режима зависит и решение.


 
Дмитрий   (2010-03-21 04:55) [10]

Не совсем понял про режим



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

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.062 c
15-1265062916
DillerXX
2010-02-02 01:21
2010.08.27
Где в ХР лежит файл с обоями на десктопе?


15-1269615443
tesseract
2010-03-26 17:57
2010.08.27
собери себе ОС


2-1271079259
noob_one
2010-04-12 17:34
2010.08.27
Можно ли в delphi2007 объявить функцию в одном файле (модуле)


6-1221562776
evgenij
2008-09-16 14:59
2010.08.27
Error от IdFTP


2-1273656185
Чапаев
2010-05-12 13:23
2010.08.27
Принудительная перерисовка формы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский