DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: fiscan1
今日帖子: 1
在线用户: 0
导航: 论坛 -> 网络通讯 斑竹:liumazi,sephil  
作者:
男 bssean (指一剑) ▲△△△△ -
普通会员
2021/11/5 9:10:52
标题:
TClientSocket 当服务器IP是127.0.0.1时收不到服务器回发的数据 浏览:1478
加入我的收藏
楼主: 做个小程序,用TClientSocket做客户端,服务端是其他人写的。

本机测试,设置服务端地址是127.0.0.1,连接和发数据都没问题,但收不到服务端回发的数据,用以下两个方法能收到服务端回发的数据
1)改服务端地址是本机的IP地址可以收到回发数据,
2)用TWSocket控件设置服务端地址是127.0.0.1也能收到数据

想了解这里是什么原因,估计跟服务端有关系吗?
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2021/11/5 10:51:03
1楼: 如果是 TCP 连接,根据 TCP 的原理,如果能够连接上,就能够互相通讯。没理由发过去的数据对方能收到,对方发过来的数据收不到。这个是 TCP 的原理决定的。
----------------------------------------------
-
作者:
男 lsuper (lsuper) ★☆☆☆☆ -
盒子活跃会员
2021/11/5 11:03:36
2楼: 127.0.0.1 是 Loopback Address 回环地址,本机服务可以;要对外使用 0.0.0.0 绑定所有网卡地址
----------------------------------------------
-
作者:
男 bssean (指一剑) ▲△△△△ -
普通会员
2021/11/5 12:19:32
3楼:
如果是 TCP 连接,根据 TCP 的原理,如果能够连接上,就能够互相通讯。没理由发过去的数据对方能收到,对方发过来的数据收不到。这个是 TCP 的原理决定的。



按道理是这样,但实际上,因为调试都喜欢把服务端客户端放一台机器上做调试,用127.0.0.1做IP调试,但是现在如果我用127.0.0.1发送,服务端能收到数据并响应发回数据,客户端却收不到数据回来,如果用本机IP 192.168.1.56发送,就能正常收发数据,端口号都一样,不知道是什么原因造成。我用TWSocke控件就两种IP地址都能正常收发。
----------------------------------------------
-
作者:
男 pp0123 (pp0123) ★☆☆☆☆ -
普通会员
2021/11/5 14:53:01
4楼: 可能是对 127.0.0.1:80  localhost:80 作出的 DNS 保安行为.
是系统,防火墙,防毒,那一方面的就不知道.
主要是伺服器端安装或运行时有没有授权使用迥路
要知现在的墙都要区分对外与对内的封锁行为, 而一般人祇留意对外的授权而已.
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行76.17188毫秒 RSS