2

防火墙后面的设备建立并维护与我的服务器的套接字连接。我通过已建立的连接与设备对话。这种模式叫什么,我在哪里可以获得更多信息、.net 代码示例等?

背景- 我们的设备只有串行端口,我们在客户现场使用 GSM 调制解调器。然后,我们从办公室调用每个调制解调器来检索数据。问题是移动宽带(GPRS/UMTS 等),尤其是用于少量数据的 M2M-one 很便宜。电路交换数据(呼叫调制解调器和传真)价格昂贵,在某些国家/地区已弃用、不受支持甚至不可用(泰国)。所以我们正在反转模式并在调制解调器中使用 GPRS+TCP 套接字功能。

我已经在我的“自动数据检索器”中实现了这一点,用于发送定义的数据包(例如“给我你的序列号”)并期待对我的请求的响应(等到整个响应以已知字节数和/或已知停止序列)。

我想要实现的是类似于串行端口(轮询缓冲区并读取所有新字节)或事件模型(SendBytes / NewBytesReceived)或者更现代的东西(反应式扩展?)。

我的最终目标是一个小型服务器,它只做这个,允许多个程序连接到远程设备。然后我可以运行一个“配置”应用程序来配置设备 98,同时允许“自动数据检索器”与设备 13、18 和 27 一起工作。

额外的问题 - 你会给这个服务器/模式起什么名字?

4

1 回答 1

0

防火墙经过编程,因此它们会将设备启动的任何 tcp 连接的答案转发回原始设备。

防火墙后面的设备必须始终是发起连接的设备。

服务器很简单,只需等待预定义端口中的连接,然后创建一个新线程来处理每个新的传入连接。这样服务器可以同时处理多个连接。

请记住,如果连接长时间处于空闲状态,防火墙可能会失去与原始设备的关联。您可以实现保持活动机制,或者在每次设备空闲时关闭连接。

于 2012-11-26T17:03:21.383 回答