Yup Mailman - 我们的自用群发软件 [Permalink]
Wed Sep 15 10:04:09 CST 2004
因为目前的网站推广需要,这两天抽空作了一个群发邮件的桌面程序。以前没真正做过swing UI,这也算是新的尝试了
程序的核心是利用socket与目标smtp server通信来发信。因为考虑到带宽的利用率,所以设计了多线程的方式。这里的任务分配其实很有学问,目前只是简单的根据mail address的数量和用户设置的thread count进行了数学上分配,其实考虑到建立socket的开销,更好的方式是根据主机MX纪录来分配,这样可以最大限度的利用现有socket资源,避免频繁的握手。。。有空一定要好好优化这部分! (y)
大多的工作还是在周边。一方面是UI,还有一方面是设置文件、成功失败列表文件、临时预览文件的管理,以及他们和UI的交互。大量的dirty works。。。还好有jb这样的优秀RAD工具,否则现在也没有写笔记的功夫了
总结一下其间遇到的几个难缠的问题:
JScrollPane.getViewport().scrollRectToVisible()
,使得最下面的某一点可见;
setCaretPosition()
(也就是编辑光标的位置)到length()。
synchronized() {}
。blah@本机ip地址
,不过似乎有时候还是会失败。这个需要深入测试
requestFocus()
,不过完全没有作用
Posted by: miles
Comments on this entry