已经看了很久还不是很清晰 现在记录下我觉得的,其实早就应该把自己脑子里的流程和接不上的细节写下来,带着疑问去读源码。
传真服务器的流程:
首先需要添加modem设备。利用tcpdevices类得到现在所有的硬件设备,然后利用FAXMODEM建立虚拟的modem对象。
然后把硬件设备名等信息一一添加到这个虚拟对象中。
初始化,删除以前的modem信息。(一直想不明白什么时候这些信息到了数据库中的。)重新把一些信息添加到里面。
启动服务。也就是开启一个线程,等待客户端来连接,首先接到一个包,包里面包含文件的名字,文件的长度等信息,然后用流将文件读取过来,保存到一个指定的文件里面。在此同时,开启格式转换线程,对文件进行格式进行转换。
每隔5秒给modem分配任务,把没有被运行的的任务分配给没有被用到的modem。(其中需要分为单文件传输 还是 多文件传输)然后开启这个线程,在这个线程里面将文件发送出去。