.
Thread(newSendFile(vector,InetAddress.get
ByName(str—ip),shortmsg)),clientThread.setPriority(6),clientThread.start(),)catch(UnknownHostExceptionex){ex.printStackTrace(),
‘
}
通过启动线程传送文件,每向一个用户发送文件就启动一个线程去执行,vector里存放的是多个文件。在发送的时候,我用了一个循环,for(intj=o;j<fileVeetor.size();j十+)使多个文件按存放的次序来发送。2)局域网聊天。在发送文件之前,先将要发送的信息发送过去。
out.writeUTF(msg)Iout.flush();
3)接受多个用户的多个文件通过ServerSocket监听一个固定的端口,如2008。当接受到连接请求时,将接受到的Socket对象传入一个线程并且启动这个线程。这样ServerSocket始终在监听这个固定的端口,就可以实现同时接受多个用户的多个用户。
’
try{
ServerSocketserver=new
ServerSocket(MainFrame.PORT);
while(true){
Socket
socket=server.accept();Thread(newReceiveFile(socket))I
ThreadnewThread2new
newThread.setPriority(6),newThread.start()I))catch(Exceptione){JOptionPane.showMessageDialog(null,e.getMessageO+
this.getClass
’
O,“错误”,JOptionPane.ERROR—MESSAGE),
)
4与yatio公司的IPMSG进行比较
1)GUI界面“飞鸽传书”采用javax.swing包里的新技术,与yatio公司的IPMSG相比,“飞鸽传书”界面更优美,右键菜单更简单实用,将传送文件与传送文件夹合并为一个菜单项。还具有换肤功能,用户可以根据自己的个性来选择界面的风格。2)传输速度“飞鸽传书”在不影响其他程序运行的情况下定义了更高的线程优先级,更大的缓冲区(8KB),使传送效率更高。3)用户使用(1)刷新功能采用基于UDP协议的局网广播和启动线程执行,使刷新速度更快;(2)用户发送文件完成后,会反馈文件发送的情况(如果发送成功,用户可以考虑下线;如果发送失败,则要重新发送);(3)yatio公司的IPMSG在聊天时没有显示用户名,容易造成用户的疑惑。而“飞鸽传书”更好地做到了这一点。
4)使用范围
“飞鸽传书”不仅适用于Windows操作系统,还适用于其他操作系统,具有可移植
性,跨平台性。感谢计算机科学与技术创新实验室提供研究环境,感谢肖飞老师和朱泽民老师的指导。参考文献:
[13刘甲耀.Java编程模式与范例——高级应用开发[M].北京:科学出版社,2003.[23[33
NiemeyerP,Peck
J.ExploringJava[M].北京:机械工业出版社,2003.
Sun公司.J2EE核心模式l-M].北京;机械工业出版社,2001.
责任编辑李鑫
(上接第57页)的测量仪器,完成一些定性分析实验。如学生制作天平、杆秤、压强计等。第二,辅导学生进行课外活动。组织一部分爱好物理小实验制作的学生对其进行个别辅导,列出专题性课题,让学生选材、设计、制作,培养学生的创新精神和创新能力。如学生制作潜望镜、潜水
艇、电风扇等。第三,开放实验室。教师指导学生设计
方案,选取器材,组合装置。开展不同层次的物理实验活动,可以重复教材规定实验,也可以创新探究自己选择、设计、较高水准的实验。让学生在开放的实验室的操作
学习中提高能力、收获真知。责任编辑徐清
(上接第64页)是:教师怎么“教”和学生怎么“学”。探究式教学自然应该把探究的重点放在这两大
问题上:即一要探究教师作为教学的组织者和指导者应该怎么“教”,二要探究学生作为教学的主体和学习者应该怎么“学”,教师对自己怎么“教”的探究,是为学生怎么“学”的探究服务的,教师探究得如何直接