要求是这样的: 我在我的机器上写了一个接受远程服务器的程序,用IDTCPSERVER写的接收事件,我的机器是拨号上网的。我的服务器是电信机房的。首先我用IDTCPCLIENT发送了一个字符串ABC。。然后我的IDTCPSERVER的接收事件等待服务器发送CBA字符串。 我想问一下是不是外部IP是不是不能跟拨号上网的发送字符串数据呀?
解决方案 »
- 不想用QR,大家给提个好的建议吧
- Delphi输入助手,节省代码录入一半的时间,以后可以偷懒了(测试中)
- win2000和xp中怎么能让我的进程不能被关闭掉?
- 100分等你拿!救命!我用report builder7 用了8个subreport,有9页,当我
- 如何用函数返回一个动态数组?
- 高分求助:专家们不妨看一下,如何在delphi中调CryptoAPI?
- 救命!!!!!!!!!!!!!!!!!!!!大虾
- 怎样调用IE浏览器"工具"菜单上的"Internet选项"中的"清除历史记录"和"删除文件"功能中的"删除"所有脱及内容!
- 将数组显示成图象
- 请问设置窗口大小怎么做?
- DBGRID的picklist問題,在线等!
- 求delphy怎么取DLL文件的版本
应该是可以连接的..检查一下是不是被防火墙拦了.
楼主是在本地同时使用IDTCPSERVER与idTcpClient?
为什么不只使用idTcpClient呢?
那为什么不直接用 IDTCPCLIENT 接收返回的信息而是另外用IDTCPSERVER新建一个连接呢 ?
直接用已经连接上的 IDTCPCLIENT 接收返回的信息
那样的话就避免了外网无法连接内网的问题了
var
S: string;
begin
with IdTCPClient1 do
begin
Host := '***.***.***.***'; //电信机房
Port := 2453;
Connect;
Memo1.Lines.Add('Connect...OK');
Sleep(1000);
IOHandler.WriteLn('2007-01-01 abc);
S := IOHandler.ReadLn(#10);
Memo1.Lines.Add(S);
end;
end;我的电脑是公司的局域网,通过这个上网的.然后向我们的服务器发送一串数局后要得到一个回执,服务器能收到我的东西,但我得不到他的回执.
tcpclient.SendData " 4611110500012007-04-03 12:24:44111002801001"
End SubPrivate Sub tcpclient_DataArrival(ByVal bytesTotal As Long)
Dim x As String tcpclient.GetData x '使用getdata获得发送来的数据
If x <> "" Then
List1.AddItem "收到回执:" & x
End IfEnd Sub
VB写的就收得到。。 我用DELPHI写的就收不到。 郁闷