通过已建立的连接与防火墙后面的设备对话 - 如何?

时间:2012-11-26 14:17:36

标签: .net tcp

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

背景 - 我们的设备只有串口,我们在客户站点使用GSM调制解调器。然后我们从办公室调用每个调制解调器来检索数据。问题是移动宽带(GPRS / UMTS等),特别是用于少量数据的M2M,便宜。电路交换数据(呼叫调制解调器和传真)价格昂贵,在某些国家已被弃用,不支持甚至无法使用(泰国)。因此我们正在逆转模式并在调制解调器中使用GPRS + TCP套接字功能。

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

我想要实现的东西类似于串口(轮询缓冲区并读取所有新字节)或事件模型(SendBytes / NewBytesReceived)或者更现代的东西(Reactive Extensions?)

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

奖金问题 - 您对此服务器/模式的名称是什么?

1 个答案:

答案 0 :(得分:0)

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

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

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

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