我知道indy自带TCP数据转发的功能,但我想自己用程序实现,但在调试过程总是不能打开网页。请高手帮我解决一下
code:constructor TcmThread.Create(pClients:TSimpleClient);
begin
sClients:=pClients;
inherited Create(false);
FreeOnTerminate := true;
end;procedure TcmThread.sendmsg;
var
str:string;
isn:integer;
stra:string;
begin
while true do
begin
try
isn:=sclients.ListLink;
stra:=inttostr(isn);
//sclients.CAThread.ReadTimeout:=15000;
if sclients.CAThread.Connected then
begin
str:=sclients.CAThread.CurrentReadBuffer();
// str:=sclients.CAThread.ReadLn();
if str<>'' then
begin
sclients.SAThread.Connection.write(str);
str:='';
end;
end;
except
sclients.CAThread.Disconnect;
sclients.SAThread.Stop;
break;
end;
end;
end;procedure TcmThread.Execute;
var
count:integer;
str:string;
begin
///Synchronize(sendmsg);
sendmsg;
end;procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
Long:integer;
str:string;
Client : TSimpleClient;
begin
str:=AThread.Connection.CurrentReadBuffer;
Client := Pointer(AThread.Data);
client.CAThread.Write(str);
end;procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
var
Client : TSimpleClient;
IdClient: TIdTCPClient;
begin Client := TSimpleClient.Create;
idClient:=TIdTCPClient.Create(nil);
Client.DNS := AThread.Connection.LocalName;
Client.Name := 'Logging In';
Client.ListLink :=clients.Count;
Client.Thread := AThread;
client.SAThread :=AThread;
client.CAThread:=TIdTCPClient.Create(nil);
Client.CAThread.Port:=80;
client.CAThread.Host:='www.zsit.com.cn';
client.CAThread.Connect();
ds:=tcmthread.Create(client);
AThread.Data := Client;
Clients.Add(Client);
end;
code:constructor TcmThread.Create(pClients:TSimpleClient);
begin
sClients:=pClients;
inherited Create(false);
FreeOnTerminate := true;
end;procedure TcmThread.sendmsg;
var
str:string;
isn:integer;
stra:string;
begin
while true do
begin
try
isn:=sclients.ListLink;
stra:=inttostr(isn);
//sclients.CAThread.ReadTimeout:=15000;
if sclients.CAThread.Connected then
begin
str:=sclients.CAThread.CurrentReadBuffer();
// str:=sclients.CAThread.ReadLn();
if str<>'' then
begin
sclients.SAThread.Connection.write(str);
str:='';
end;
end;
except
sclients.CAThread.Disconnect;
sclients.SAThread.Stop;
break;
end;
end;
end;procedure TcmThread.Execute;
var
count:integer;
str:string;
begin
///Synchronize(sendmsg);
sendmsg;
end;procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
Long:integer;
str:string;
Client : TSimpleClient;
begin
str:=AThread.Connection.CurrentReadBuffer;
Client := Pointer(AThread.Data);
client.CAThread.Write(str);
end;procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
var
Client : TSimpleClient;
IdClient: TIdTCPClient;
begin Client := TSimpleClient.Create;
idClient:=TIdTCPClient.Create(nil);
Client.DNS := AThread.Connection.LocalName;
Client.Name := 'Logging In';
Client.ListLink :=clients.Count;
Client.Thread := AThread;
client.SAThread :=AThread;
client.CAThread:=TIdTCPClient.Create(nil);
Client.CAThread.Port:=80;
client.CAThread.Host:='www.zsit.com.cn';
client.CAThread.Connect();
ds:=tcmthread.Create(client);
AThread.Data := Client;
Clients.Add(Client);
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货