Connecting to LSports - Chinese

快速连接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是否正确输入

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

Last updated