离线测试套接字通信作为模拟

Posted

技术标签:

【中文标题】离线测试套接字通信作为模拟【英文标题】:testing socket communication offline as a simulation 【发布时间】:2011-09-25 08:55:39 【问题描述】:

每当需要测试我的应用程序(基本上是通过套接字与外部设备进行某种通信)时,设备本身必须可用并连接。

我想问一下,有没有办法在某种模拟模式下进行离线测试?

例如,将套接字通信重定向到某种存储文件。并且文件本身是与真实设备的先前会话的日志,存储在适当的结构中。当然,只能模拟录制的会话,但这已经很有帮助了。

谢谢!

【问题讨论】:

为什么不将远程应用程序(服务器)放在客户端所在的同一台机器上?然后,两者就可以在本地进行通信了。 因为没有远程应用,所以我的应用与外部硬件设备通信... 【参考方案1】:

你应该看看netcat。如果您在文件中记录了“会话”,则可以使用nc 在套接字上“回放”,例如:

nc -l -p port_number < your_file

然后您可以使用telnet 连接到该端口号,您将看到会话数据传入。

(您也可以反过来,即让nc 连接到您的应用并重播会话。)

【讨论】:

非常感谢。我做了一些阅读......但我不确定现在要安装什么。 nc / ncat(nmap的一部分)有什么区别吗? 它们不是同一个工具。 ncat 似乎有更多的功能。两个都试试:-)【参考方案2】:

不了解 iphone,但有一个本地客户端(或服务器)应用程序。作为模拟器在其他平台上很常见。如果对等应用程序也在开发中,它特别有用 - 拥有模拟器通常会在两端(以及模拟器中)暴露协议错误。

鉴于一个应用规范包含协议,但还没有同行,我通常首先开始在模拟器上工作 - 它让我有时间以非关键、不可交付的方式获得协议的经验,而客户是仍在对主应用程序 UI 进行更改:)

Rgds, 马丁

【讨论】:

以上是关于离线测试套接字通信作为模拟的主要内容,如果未能解决你的问题,请参考以下文章

没有套接字的进程间文件系统通信

服务器在套接字通信中的非常奇怪的回答

套接字通信(TCP)

Play WebSocket 客户端用于负载测试另一个 Play WebSocket 服务器应用程序

iOS 应用程序可以通过套接字进行通信吗?

进程间通信以模拟欺凌算法[关闭]