1

我正在为 XMPP 服务器开发一个测试套件。目前我已经实现了一个客户端,能够连接、创建帐户、发送从 XML 文件中获取的节、接收回复、将其存储在另一个文件中并将其与预期的输出进行比较。我可以创建多个客户端,但我正在寻找并发操作。

如何让多个客户端相互通信?我的愿景 - 将客户端放入单独的线程并提供“等待回复”等命令。

任何建议表示赞赏...

4

1 回答 1

1

所有在单个测试用例中的同一线程上完成。

  • 以用户 1 的身份创建传出连接。
  • 以用户 2 的身份创建传入连接。
  • 为您的测试节注册 PacketListener,该节在传入连接上写入 BlockingQueue。
  • 在传出连接上写节。
  • 在队列上调用 take() 并测试结果。

注意:PacketListener 将在由 Smack 内部生成的单独线程上调用,这就是为什么您需要 BlockingQueue 来协调发送和回复的原因。

于 2010-06-24T18:14:38.143 回答