DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: senqicai
今日帖子: 2
在线用户: 13
导航: 论坛 -> 移动应用开发 斑竹:flyers,iamdream  
作者:
男 zm2002 (zm2002) ★☆☆☆☆ -
普通会员
2018/6/25 16:42:03
标题:
Xe10.3 使用IdIcmpClient问题 浏览:2042
加入我的收藏
楼主: Android 使用他的tcpclient 没有问题使用IdIcmpClient1 来执行ping就不行。
在windows下执行正确的代码在android下无法执行。
显示socket error #1;
这个函数出错 NewSocketHandle
Result := WSSocket(IdIPFamily[AIPVersion], ASocketType, AProtocol, AOverlapped);

返回错误,求熟悉的人帮助。。
----------------------------------------------
-
作者:
男 ivvn (奔腾的心) ★☆☆☆☆ -
普通会员
2018/6/25 16:43:16
1楼: 请问楼主10.3从哪下的?
----------------------------------------------
-
作者:
男 zm2002 (zm2002) ★☆☆☆☆ -
普通会员
2018/6/25 16:45:11
2楼: ASocketType = 3
AProtocol = 1
AOverlapped = false

 Result := Posix.SysSocket.socket(AFamily, AStruct, AProtocol);
  

Result  = -1
----------------------------------------------
-
作者:
男 zm2002 (zm2002) ★☆☆☆☆ -
普通会员
2018/6/25 16:45:54
3楼: 说错了 是10.2 update 3 不好意思!!
----------------------------------------------
-
作者:
男 zm2002 (zm2002) ★☆☆☆☆ -
普通会员
2018/6/26 8:46:54
4楼: 原因找到 idicmpclient 使用rawsocket 创建socket 因为android系统权限问题,不允许创建rawsocket 所以无法使用。
如果不root 基本上无解。
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/6/26 8:53:52
5楼: //fix by [东莞]放驴(83780149) and [北京]kCaRhC(9595859)
//fix or add by flyign wang.
//useage
//IdIcmpClient1.Rooted := {$IF DEFINED(ANDROID) OR (DEFINED(IOS))} False {$ELSE} True {$IFEND} ;
//notes
//you must copy IdCompilerDefines.inc and some other pas to your porject's dir.
(* 仅支持 RAD10.2.3(10.2 Release 3),其他版本请自行修改 *)

我找不到,你代码的位置,主要是懒得找。
上述的注释,我也懒得说,从哪里找来的。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 zm2002 (zm2002) ★☆☆☆☆ -
普通会员
2018/6/28 9:24:55
6楼: 谢谢回复 但是还是没有看懂啥意思 
我的意思是 如果手机没有root  估计是无法使用这个控件的 系统权限禁止使用rawsocket。
你这里似乎是判断手机是否root的代码?没啥意义啊 !!
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/6/28 9:28:56
7楼: 5 楼代码来自不看后悔。
注释写的是用法。
这么简单的英文都看不懂,别搞开发了。我高考英语才 32 分。难道你 5 分吗?
----------------------------------------------
(C)(P)Flying Wang
作者:
男 guiguzilrb (一笑如风) ▲▲▲▲▲ -
普通会员
2018/7/1 15:15:14
8楼: copy IdCompilerDefines.inc and some other pas to your porject's dir
:}
----------------------------------------------
我的博客:http://www.cnblogs.com/GameDelphi
作者:
男 zm2002 (zm2002) ★☆☆☆☆ -
普通会员
2018/7/3 10:12:34
9楼: IdIcmpClient1.Rooted 
Rooted 这个搜索源代码都没有这个定义 不是看不懂你们的英文
我是单步调试发现andorid系统下 icmp 协议 要要实现raw socket 但是安卓系统需要root权限才能允许创建原始套接字  但是应用是无法获取这个权限的 。
而不是简单理解字面意思。
Linux系统从权限上都限制创建raw socket 。你跟我说复制文件可以解决这个问题。
谢谢你的回答 但是我质疑你的答案。
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/7/3 10:48:10
10楼: 本来就是没有,我们就要创造啊。
我不是 7 楼告诉你来源了吗?
你不相信,我有什么办法。
----------------------------------------------
(C)(P)Flying Wang
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行74.21875毫秒 RSS