S
swordqj
Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个form上放置一个TserverSocket和一个TClientSocket控件
TServerSocket用来监听程序,
而TClientSocket用来将TserverSocket接收的【A】数据发送到别处【B】;
同时TServerSocket也将TClientSocket接收的【B】数据发送到数据起始处【A】
如下图
【A】-------->【[ServerSocket]--[ClientSocket]】-------->【B】
【A】<--------【[ServerSocket]--[ClientSocket]】<--------【B】
以上目的是做到一个转发的作用,有点象代理。
【问题】使用这个进行传输某些程序如:局域网聊天程序时候很正常;但是传输如“远程桌面”或者VNC这样的通信程序时候就经常弄得无法继续(超时),显示是ClientSocket的10054错误;后来我用VB做Socket按照Delphi的语句结构结果试验成功。是不是我语句写的有问题,还是Delphi的处理不好??
以下是我得语句---------------------------------
TServerSocket用来监听程序,
而TClientSocket用来将TserverSocket接收的【A】数据发送到别处【B】;
同时TServerSocket也将TClientSocket接收的【B】数据发送到数据起始处【A】
如下图
【A】-------->【[ServerSocket]--[ClientSocket]】-------->【B】
【A】<--------【[ServerSocket]--[ClientSocket]】<--------【B】
以上目的是做到一个转发的作用,有点象代理。
【问题】使用这个进行传输某些程序如:局域网聊天程序时候很正常;但是传输如“远程桌面”或者VNC这样的通信程序时候就经常弄得无法继续(超时),显示是ClientSocket的10054错误;后来我用VB做Socket按照Delphi的语句结构结果试验成功。是不是我语句写的有问题,还是Delphi的处理不好??
以下是我得语句---------------------------------
代码:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
Var
CsStr:String;
begin
csstr := ServerSocket1.Socket.Connections[0].ReceiveText;
clientsocket1.Socket.SendText(CSstr);
end;
--------------
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
t_str:string;
begin
t_str:=ClientSocket1.Socket.ReceiveText;
ServerSocket1.Socket.Connections[0].SendText(t_str);
end;