![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ПОМОГИТЕ !!! [D6, Win2k]
/*Drive*/ © (2002-11-08 09:24:00)Это консольное приложение !!!!
Почему то что я посылаю прихдит на сервер в виде непонятно чего !!!!!:
program send;
{$APPTYPE CONSOLE}
uses
SysUtils,winsock;
const
EOLn = #$0D#$0A;
var
com,resved:string;
wsa:twsadata;
host:string;
port:integer;
res:integer;
s:tsocket;
adr:sockaddr_in;
begin
port:=0;
Wsastartup($101,wsa);
s:=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
writeln("Max Sockets Count : "+inttostr(wsa.iMaxSockets));
writeln("Max D.Sock. Count : "+inttostr(wsa.iMaxUdpDg));
writeln("Sys.Sockets Staus : "+wsa.szSystemStatus);
writeln("-----------------------------------------------");
write("Enter hostname: ");readln(host);
write("Enter port(25): ");readln(port);
if port=0 then port:=25;
adr.sin_family:=AF_INET;
adr.sin_port:=htons(port);
adr.sin_addr.S_addr:=inet_addr(pchar(host));
if connect(s,adr,sizeof(adr))=0 then writeln("Connected");
repeat
Write("Enter command :");
readln(com);
send(s,com,sizeof(com),0);
recv(s,resved,sizeof(resved),MSG_DONTROUTE);
writeln(resved);
until com="exit";
end.
Набережных С. (2002-11-09 11:08:00) [1]Еще читай, что Ketmar © (08.11.02 11:26)велел.
/*Drive*/ (2002-11-09 08:02:00) [2]Мастера !!! Опять проблема !!!!
program CMail;
{$APPTYPE CONSOLE}
uses
SysUtils,winsock;
var
com,resved:string;
wsa:twsadata;
host:string;
port:integer;
res:integer;
s:tsocket; col:Integer;
adr:sockaddr_in;
begin
port:=0;
Wsastartup($101,wsa);
s:=socket(PF_INET,SOCK_STREAM,0);
writeln("Max Sockets Count : "+inttostr(wsa.iMaxSockets));
writeln("Max D.Sock. Count : "+inttostr(wsa.iMaxUdpDg));
writeln("Sys.Sockets Staus : "+wsa.szSystemStatus);
writeln("-----------------------------------------------");
write("Enter hostname: ");readln(host);
write("Enter port(25): ");readln(port);
if port=0 then port:=25;
adr.sin_family:=PF_INET;
adr.sin_port:=htons(port);
adr.sin_addr.S_addr:=inet_addr(pchar(host));
if connect(s,adr,sizeof(adr))=0 then writeln("Connected");
repeat
Write("Enter command :");
readln(com);
send(s,com[1],Length(com),0);
recv(s,resved,length(resved),MSG_PEEK);
writeln(resved);
until com="exit";
end.
Так а почему данные на экран не выводятся ?
/*Drive*/ (2002-11-08 23:01:00) [3]Спасибо обоим за ответ, НО всёравно не работает !!!!!!!!!
Ketmar (2002-11-08 19:41:00) [4]как всегда МНЕ никто ничего не сказал. я, видимо, слишком лаконичен? %-)
Satanas Nobiscum! 08-Nov-XXXVII A.S.
/*Drive*/ (2002-11-08 19:00:00) [5]> Digitman
Большое тебе спасибо !!!
Вот лоханулся !!!! :-)
Digitman (2002-11-08 13:56:00) [6]
> Ну прочитал!!!
Ну молодца !!!)
А теперь скажи, где ты там увидел, чтобы размер данных, хранящихся в формате AnsiString, мог быть вычислен компилятором именно с помощью SizeOf() ? И для чего, по-твоему, существует ф-ция Length() ?
/*Drive*/ (2002-11-08 13:36:00) [7]Ну прочитал!!!
Ketmar (2002-11-08 11:26:00) [8]шагом марш в хэлп читать про AnsiStrings.
Satanas Nobiscum! 08-Nov-XXXVII A.S.