查询在线游戏服务器以获取其状态Delphi-Indy 10

查询在线游戏服务器以获取其状态Delphi-Indy 10,delphi,minecraft,indy10,bukkit,Delphi,Minecraft,Indy10,Bukkit,我正在尝试找出如何在 Delphi应用程序和在线游戏服务器(本例中为Minecraft)与Bukkit一起运行 搜索没有成功,但我有一个模糊的想法 使用Indy 10组件?像TIdTCPClient 但我认为它需要一个处理器,我不知道是哪一个 那么我想问一下 如何查询在线服务器 使用PHP: 有什么想法吗 对不起,我的英语不好 谢谢。TIdTCPClient与服务器连接不需要额外的“处理程序” TIdTCPClient实例包含IOHandler(作为属性公开) 使用此IOHandler从服务器

我正在尝试找出如何在 Delphi应用程序和在线游戏服务器(本例中为Minecraft)与Bukkit一起运行

搜索没有成功,但我有一个模糊的想法 使用Indy 10组件?像TIdTCPClient 但我认为它需要一个处理器,我不知道是哪一个

那么我想问一下

如何查询在线服务器

使用PHP:

有什么想法吗

对不起,我的英语不好 谢谢。

TIdTCPClient与服务器连接不需要额外的“处理程序”

TIdTCPClient实例包含IOHandler(作为属性公开)

使用此IOHandler从服务器读取字节

对于Minecraft服务器状态查询,似乎非常简短且易于理解,将其移植到Delphi是没有问题的。

TIdTCPClient与服务器连接不需要额外的“处理程序”

TIdTCPClient实例包含IOHandler(作为属性公开)

使用此IOHandler从服务器读取字节

对于Minecraft服务器状态查询,似乎非常简短且易于理解,将其移植到Delphi是没有问题的。

TIdTCPClient与服务器连接不需要额外的“处理程序”

TIdTCPClient实例包含IOHandler(作为属性公开)

使用此IOHandler从服务器读取字节

对于Minecraft服务器状态查询,似乎非常简短且易于理解,将其移植到Delphi是没有问题的。

TIdTCPClient与服务器连接不需要额外的“处理程序”

TIdTCPClient实例包含IOHandler(作为属性公开)

使用此IOHandler从服务器读取字节


对于Minecraft服务器状态查询似乎非常简短且易于理解,将其移植到Delphi是没有问题的。

正如MJN所说,一旦您
Connect()
连接到服务器,您就可以使用
TIdIOHandler.IOHandler
属性根据需要读取/写入数据,例如:

var
  data: TIdBytes;

Client.Host := AHost;
Client.Port := APort;
Client.ConnectTimeout := 3000;
Client.ReadTimeout := 3000;

Client.Connect;
try
  Client.IOHandler.Write(Byte($FE));
  Client.IOHandler.Write(Byte($01));
  Client.IOHandler.ReadBytes(data, 2048);
finally
  Client.Disconnect;
end;

// parse data as needed...

正如MJN所说,一旦
Connect()
连接到服务器,就可以使用
TIdIOHandler.IOHandler
属性根据需要读取/写入数据,例如:

var
  data: TIdBytes;

Client.Host := AHost;
Client.Port := APort;
Client.ConnectTimeout := 3000;
Client.ReadTimeout := 3000;

Client.Connect;
try
  Client.IOHandler.Write(Byte($FE));
  Client.IOHandler.Write(Byte($01));
  Client.IOHandler.ReadBytes(data, 2048);
finally
  Client.Disconnect;
end;

// parse data as needed...

正如MJN所说,一旦
Connect()
连接到服务器,就可以使用
TIdIOHandler.IOHandler
属性根据需要读取/写入数据,例如:

var
  data: TIdBytes;

Client.Host := AHost;
Client.Port := APort;
Client.ConnectTimeout := 3000;
Client.ReadTimeout := 3000;

Client.Connect;
try
  Client.IOHandler.Write(Byte($FE));
  Client.IOHandler.Write(Byte($01));
  Client.IOHandler.ReadBytes(data, 2048);
finally
  Client.Disconnect;
end;

// parse data as needed...

正如MJN所说,一旦
Connect()
连接到服务器,就可以使用
TIdIOHandler.IOHandler
属性根据需要读取/写入数据,例如:

var
  data: TIdBytes;

Client.Host := AHost;
Client.Port := APort;
Client.ConnectTimeout := 3000;
Client.ReadTimeout := 3000;

Client.Connect;
try
  Client.IOHandler.Write(Byte($FE));
  Client.IOHandler.Write(Byte($01));
  Client.IOHandler.ReadBytes(data, 2048);
finally
  Client.Disconnect;
end;

// parse data as needed...

详细说明-
TIdTCPClient.Connect()
在内部创建并分配自己的
TIdIOHandler
对象(如果您事先没有提供),详细说明-
TIdTCPClient.Connect()
在内部创建并分配自己的
TIdIOHandler
对象(如果您事先没有提供)(例如SSL IOHandler)。要详细说明-
TIdTCPClient.Connect()
在内部创建并分配自己的
TIdIOHandler
对象(如果您事先没有提供对象,例如SSL IOHandler)。要详细说明-
TIdTCPClient.Connect()
如果事先未提供对象(例如SSL IOHandler),则在内部创建并分配自己的
TIdIOHandler
对象。