Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 德尔菲。插座。仅在一个节点/MAC地址上的HTTP套接字连接上拒绝访问。贝特费尔API_Delphi_Sockets_Http_Ssl_Request - Fatal编程技术网

Delphi 德尔菲。插座。仅在一个节点/MAC地址上的HTTP套接字连接上拒绝访问。贝特费尔API

Delphi 德尔菲。插座。仅在一个节点/MAC地址上的HTTP套接字连接上拒绝访问。贝特费尔API,delphi,sockets,http,ssl,request,Delphi,Sockets,Http,Ssl,Request,我怀疑这相当简单,因此没有代码会有帮助 我正在开发一个Delphi非交互式“机器人”登录应用程序 除了我当前的开发系统之外,该应用程序在任何机器上都可以使用注册了相应帐户的帐户和证书/密钥对正常登录 i、 e.相同的可执行文件,使用相同的帐户登录凭据和选定的SSL证书和密钥文件,在我尝试登录成功的每个系统上运行,但在我的开发系统Windows 8.1上登录失败,出现拒绝访问错误10013 自从我三天前崩溃开发IDE以来,它一直在这样做。我怀疑是: API服务器上有一个原始套接字级别的套接字,在等

我怀疑这相当简单,因此没有代码会有帮助

我正在开发一个Delphi非交互式“机器人”登录应用程序

除了我当前的开发系统之外,该应用程序在任何机器上都可以使用注册了相应帐户的帐户和证书/密钥对正常登录

i、 e.相同的可执行文件,使用相同的帐户登录凭据和选定的SSL证书和密钥文件,在我尝试登录成功的每个系统上运行,但在我的开发系统Windows 8.1上登录失败,出现拒绝访问错误10013

自从我三天前崩溃开发IDE以来,它一直在这样做。我怀疑是:

API服务器上有一个原始套接字级别的套接字,在等待状态下锁定为打开到我的开发系统上的MAC地址 由于防欺诈安全触发并阻止套接字/端口,崩溃在非交互登录的情况下对我的帐户进行了某种阻止或排除。 我怀疑2,因为它是一个标准的非交互式bot登录过程,并且是一个开发人员API,所以失败的套接字连接可能很常见

我每天最多只打几十个登录电话

我是被锁在外面了,还是我的特定MAC地址处于等待状态的开放套接字。。。还是别的什么

如果我无法关闭和释放TIDWTTP连接,或者由于SSL处理不当导致应用程序与IDE一起崩溃,服务器通常会为套接字连接保持等待状态多长时间?它会尝试为相同的MAC地址重新分配相同的套接字和端口吗

我没有尝试其他端口号,也没有明确的套接字号

我尝试过改变dev系统的IP地址,并通过不同的提供商使用不同的Wi-Fi连接。如果这是一个原始套接字绑定问题,我想这不是针对IP地址的问题

构建中的同一个可执行文件可用于除发生崩溃的dev系统之外的所有系统

提前感谢。

10013是WSAEACCES,描述如下:

:

WSAEACCES 10013

拒绝许可

试图以其访问权限所禁止的方式访问套接字。例如,使用SO_广播设置未经广播许可的广播地址

WSAEACCES错误的另一个可能原因是,在使用SP4及更高版本的Windows NT 4.0上调用该函数时,另一个应用程序、服务或内核模式驱动程序绑定到具有独占访问权限的同一地址。这种独占访问是带有SP4和更高版本的Windows NT 4.0的一项新功能,通过使用选项实现

假设WAIT_状态实际上是指TIME_WAIT,那么Windows在TIME_WAIT中默认只保留一个套接字120秒。不过,这不会导致WSAEACCES错误。尝试使用处于TIME_WAIT状态的IP/端口会导致WSAEADDRINUSE错误


其他一些应用程序可能已占用了您的应用程序想要使用的IP/端口。如果您已经3天没有重新启动计算机,则该应用程序可能仍保留IP/端口。重新启动将清除错误。

感谢您与我们联系

我认为这是Windows环境的问题,因为Betfair API不会返回此错误

您可以通过以下途径找到与此特定问题相关的文章:

亲切问候,

尼尔

Betfair开发者计划

请注意:为了帮助BDP更有效地回答您的查询,请为您可能遇到的每个新查询打开一张新的记录单


API 5.0和API 6.0将于2014年11月1日退役,届时使用这些API的应用程序将不再工作。因此,我们建议您尽快迁移到API-NG。

您是否尝试重新启动该系统?如果您能首先描述初始崩溃的原因,可能会帮助我们了解可能发生的情况。此外,请尝试使用管理权限运行它。我认为我没有释放/释放套接字,或者没有正确地释放HttpClient对象。我现在不确定,因为当时我认为可能发生了其他事情,所以我更改了代码。我多次重启系统,释放并更新IP地址,手动分配不同的IP地址,并尝试从不同的WiFi节点连接。这就是为什么我认为机器以太网MAC地址一定是问题所在。现在我突然想到,我应该用一根电缆试一下,这样系统中的另一个非Wi-Fi MAC就可以了。感谢Remy提供有关错误具体性质的更多信息。对我是说你该等了。其他文档证实了您所说的WSAEADDRINUSE错误,我没有得到那个错误。我已多次重新启动系统,释放并更新了分配给我的IP地址
手动输入IP地址,并尝试从不同的WiFi节点连接。这就是为什么我认为机器以太网MAC地址一定是问题所在。具有相同套接字选项的同一构建可执行文件可以在其他系统上运行,但我仍将尝试更改套接字选项。这与MAC地址无关。套接字位于应用程序级别,不使用Mac,而是使用IP。MAC由网络子系统较低级别的操作系统使用。有些情况下,套接字在原始套接字级别绑定到MAC地址。有些系统和程序员会这样做。但是,我认为它也应该是IP地址。更改该选项似乎没有任何帮助。@user3098527:套接字不绑定到Mac,TCP/UDP没有Mac的概念。Mac是在一个完全不同的层上处理的。您链接到的代码为给定IP的MAC查询另一层,但这是独立于原始套接字完成的。