Connecting to LSports - Chinese

Modified on Sun, 16 Apr 2023 at 04:44 PM

快速连接LSports - RabbitMQ

那么您已经开始通过RMQ来应用LSports的服务了,很好的选择!
让我们通过几个简单的步骤让您的连接运行起来.

本指南旨在让您更好地了解LSports支持团队如何及时解决问题,最大程度地减少您的工作量.

分步说明
• 首先,我们强烈建议您使用我们的软件开发工具包(SDK)(目前提供C#语言或PHP版本)进行快速执行,您可以从以下地点下载使用您的首选编程语言写成的文件::
SDK - C#

以下示例引用了这些认证信息:
用户名: MyEmail
密码: Passw0rd1234
套餐: 102030
(您应该使用LSports发送给您的认证信息)

注意:以下所有示例都是用C#语言编写的。
如果您选择执行自己的代码,要在此处获取RMQ库.

请注意, 目前使用的是 RabbitMQ 3.6.5.0版本.

  1. 首先,请确保您的软件包通过发送如下所示的应用程序编程接口(API)调用来启动,:

InPlay 软件包: https://inplay.lsports.eu/api/Package/EnablePackage?username=MyEmail&password=Passw0rd1234&packageid=102030

Prematch 软件包: https://prematch.lsports.eu/OddService/EnablePackage?username=MyEmail&password=Passw0rd1234&guid=guid-provided-by-LSports

回复:
XML Schema:

<xs:schema>
  <xs:element name="Message">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Header">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:short" name="HttpStatusCode"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Body">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="xs:string" name="Message"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

JSON Schema:

{
  "type": "object",
  "properties": {
    "Header": {
      "type": "object",
      "properties": {
        "HttpStatusCode": {
          "type": "integer"
        }
      },
      "required": [
        "HttpStatusCode"
      ]
    },
    "Body": {
      "type": "object",
      "properties": {
        "Message": {
          "type": "string"
        }
      },
      "required": [
        "Message"
      ]
    }
  },
  "required": [
    "Header",
    "Body"
  ]
}

如果软件包已经启用,则消息中应该包含 "Value was already set" (值已设置).
出现任何其他状态或错误消息,请重新检查您的认证信息或与我们联系。

  1. 创建一个如下所示的连接工厂:
ConnectionFactory connectionFactory = new ConnectionFactory
{
    HostName = "Described below",
    Port = 5672,
    UserName = "MyEmail",
    Password = "Passw0rd1234",
    AutomaticRecoveryEnabled = true,
    VirtualHost = "Customers", //Default value
    RequestedHeartbeat = 580,
    NetworkRecoveryInterval = TimeSpan.FromSeconds(1)
};

RMQ主机名称:
InPlay: inplay-rmq.lsports.eu
PreMatch: prematch-rmq.lsports.eu

  1. 创建一个如下所示的连接:
IConnection connection = _connectionFactory.CreateConnection();
  1. 创建一个如下所示的模型:
IModel model = connection.CreateModel();
  1. 配置服务质量:
model.BasicQos(prefetchSize: 0, prefetchCount: 1000, global: false);
  1. 使用信息:
EventingBasicConsumer consumer = new EventingBasicConsumer(model);
consumer.Received += (sender, eventArgs) =>
{
    // Deserialize message
    // Call method to handle deserialized message
};
  1. 开始消息使用:
    (确保按照描述使用下划线('_')键入您的软件包身份识别ID) 例如,如果软件包ID是 “102030”
model.BasicConsume(queue: '_102030_', noAck: true, consumer: consumer)
  • 在这里,您应该能够应用您的RMQ连接并开始接收到心率消息.

完整的快照请求
由于通过RMQ发送给您的更新只是增量,在开始使用来自LSports的消息之前,您应该请求应接收数据的快照。
您可以通过调用以下API来完成此操作:

可能的错误类型

注意:如果队列中达到10000条未读/未应答消息,消息将被自动清除,而您的软件包将被禁用.

大多数连接尝试失败是由于认证信息不正确或软件包未激活.
以下是最常见的错误和原因:

"Connection failed" - “连接失败” - 请检查连接的详细信息,包括连接工厂、RMQ主机、虚拟主机是否正确输入.
"Access refused"-“拒绝访问” - 请检查您的软件包是否已启用,以及登录认证信息和软件包身份识别ID是否正确输入

要获得我们的数据结构的深入解释,您可以继续阅读我们的文档.
 现在,您需要开始根据自己的具体需求订购我们的运动数据.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article