J
jenhon
Unregistered / Unconfirmed
GUEST, unregistred user!
最近要给人做一个企业内部的信息管理,类似qq,但是要求简单很多,而因为要嵌入比较多的其他模块(都可以用sql解决,不关信息传递的事情),所以只能自己写。
现在想请教各位大大,用indy合适吗?
开发费不多,所以功能就打算给个简陋的打字对话窗口,大致有50左右个连接,但是连接时间比较长,大概是8点到23点,几乎是整天,(大多数连接点都是靠路由器上网,都封闭了80端口,不允许上网看网页),但是一般通信量不大,就是一天可能就发一句话给服务器内网的3、4台机,但是都要求连着,因为内部有可能发出通知。
打算开服务器的一个固定端口来响应各个点的连接需求,就放一个idTCPServer来响应各个连接,不用去考虑什么udp穿透nat之类的功能了,都没钱去做那些,也没这个需求,对话都通过服务器,留一个备份再送到对方的thread里。
1、像这样的需求、通信量、工作时间,使用indy合适吗?
请各位大大指导一下。
(刚才看到一篇文章说:idTCPServer连接时间长是灾难性的,因为每个thread都占住位子很久会导致服务器资源耗尽。是不是这样?)
在调试过程中,遇到几个问题顺便帮忙解答
2、使用idTCPServer/idTCPClient通信,如果client不是主动断掉连接,而是突然断线了、意外关闭了,好像Server端会出现异常抛出,而且好像没法拦截,有什么好方法解决这个错误?
3、server主动发信息之后,idTCPClient收到信息时,没有事件发生,直接readln才能读到,有什么办法指导server有信息来?(轮询的方式也行啊,谁叫钱不多,但是过度的readln会导致client假死,而且我传的也可能非字符,想请教client哪种方式可以知道缓冲里面有东西再去读。)
4、打算服务器能主动断掉一些没有的thread,如果这个thread还是活着的话,有错误抛出,难道又得像udp方式一样搞一个心跳?
暂时碰到的问题就这些,麻烦高手指导指导,先谢谢了。
思路不对的地方也请不吝指正。
现在想请教各位大大,用indy合适吗?
开发费不多,所以功能就打算给个简陋的打字对话窗口,大致有50左右个连接,但是连接时间比较长,大概是8点到23点,几乎是整天,(大多数连接点都是靠路由器上网,都封闭了80端口,不允许上网看网页),但是一般通信量不大,就是一天可能就发一句话给服务器内网的3、4台机,但是都要求连着,因为内部有可能发出通知。
打算开服务器的一个固定端口来响应各个点的连接需求,就放一个idTCPServer来响应各个连接,不用去考虑什么udp穿透nat之类的功能了,都没钱去做那些,也没这个需求,对话都通过服务器,留一个备份再送到对方的thread里。
1、像这样的需求、通信量、工作时间,使用indy合适吗?
请各位大大指导一下。
(刚才看到一篇文章说:idTCPServer连接时间长是灾难性的,因为每个thread都占住位子很久会导致服务器资源耗尽。是不是这样?)
在调试过程中,遇到几个问题顺便帮忙解答
2、使用idTCPServer/idTCPClient通信,如果client不是主动断掉连接,而是突然断线了、意外关闭了,好像Server端会出现异常抛出,而且好像没法拦截,有什么好方法解决这个错误?
3、server主动发信息之后,idTCPClient收到信息时,没有事件发生,直接readln才能读到,有什么办法指导server有信息来?(轮询的方式也行啊,谁叫钱不多,但是过度的readln会导致client假死,而且我传的也可能非字符,想请教client哪种方式可以知道缓冲里面有东西再去读。)
4、打算服务器能主动断掉一些没有的thread,如果这个thread还是活着的话,有错误抛出,难道又得像udp方式一样搞一个心跳?
暂时碰到的问题就这些,麻烦高手指导指导,先谢谢了。
思路不对的地方也请不吝指正。