yyxlavey 发表于 2012-11-16 10:33

求一个解决方案,急急

现需要做一个公网转发服务器,大致功能需求如下:
有A、B、C....若干个任务处理服务器,每个服务器需要处理属于自己的移动设备上来的数据。移动设备数据必须借助公网服务器转发数据给任务处理服务器,任务处理服务器处理完数据后再借助公网转发服务器把处理结果给对应的设备,服务器上有一个设备与任务处理服务器的对应表。我想使用epoll技术来做,可是没有思路。请各位大侠帮忙!!! 最好给个例子。

linux_c_py_php 发表于 2012-11-16 11:29

需要比较老道的异步事件编程技术, 如果你不擅长的话建议多线程阻塞的做这件事情吧.

yyxlavey 发表于 2012-11-16 12:15

每个任务处理服务器主动连接到“中转服务器”,并且是长连接的,如果没有连接上就不处理,移动设备也是长连接到“中转服务器”,连接过程中有心跳机制。

linux_c_py_php 发表于 2012-11-16 12:24

长连接的话比较简单, 有数据丢到buffer里注册个write事件去向后端转就可以了, 心跳可以在epoll进入前添加到buffer里, tcp心跳你应该能理解吧.

yyxlavey 发表于 2012-11-16 14:06

心跳知道的,就是不知道怎样把数据正确转发,是不是“中转服务器”在接到移动设备数据后,根据“设备-服务器”对应表,从epoll中查出应该往哪个socket连接发送,处理结果类似处理。不知道具体该怎样实现。

linux_c_py_php 发表于 2012-11-16 14:08

实现太简单, 已经在上面说了.
页: [1]
查看完整版本: 求一个解决方案,急急