.........................................11
七. 名词解释....................................................................12
八.参考文献.....................................................................12
【选题依据】
Java语言对网络有良好的支持,利用java类库的.net中的方法可以方便的编写
网络应用
程序。下面将要探讨的是用套接字(socket)实现C/S(client and server)模式的TCP/IP协议下的连接。在网络中可以使用一个或多个客户端和一个服务器端。
【分析过程】
(1)服务器端:服务器启动后,将一直监听指定的端口。看是否有客户端发来请求。客户端如果要与服务器端建立连接,要向服务器端发送请求,当服务器端接受到客户端发送来的请求后,会创建一个socket对象,用来保存这个客户端的连接,之后继续监听端口。只要有新的客户端建立与服务器的连接,服务器就会创建新的socket对象,来保存与这个客户端的连接(就像客户端第一次与服务器连接,必须在服务器端做一个"登记",记录下自己的信息)。
(2)客户端:当客户端建立与服务器端的连接后,就可以实现聊天的功能了。任何一个客户端发言时,该发言的字符信息会首先传送到服务器,之后服务器会使用循环,将该信息发送到服务器端记录的所有客户端。
(3)使用图形界面
设计客户端和服务器端。客户端和服务器端的主程序继承javax.swing.jframe生成1对话框,然后利用布局管理器和容器进行嵌套和布局。
(4)在各个组件和容器中需要有事件处理的地方,比如关闭对话框,确定和取消等,要事先设置事件监听,和事件处理。
(5)由于允许使用多个客户端,所以在各个套接字在接发信息时要用多线程,使接发信息的类继承Tread,实现多线程设计。
(6)为了不使客户端和服务器端的程序代码过长,把各个类封装在不同的文件中,并都声明为公共类(public),这样可以在同一个包内访问。
【开发过程】
服务器端:
(1)设置主窗口及显示形式。窗口名为聊天服务器端。设置菜单栏,包含服务和帮助两项。其中,服务中包含端口设置,启动服务,停止服务和退出菜单项。设置工具栏也包含端口设置,启动服务,停止服务和退出。在主窗口设置显示信息显示区域,用jscrollpane设置成可滚动显示区域,总是显示最新信息,且不可编辑。还需要有发送消息的文本编辑框和发送按钮。系统要选择发送给某个用户或者全部用户,所以还需要一个组合框。
(2)添加框架的2事件监听器和事件处理器,如关闭框架。在构造函数中,初始化窗口并设置快捷键。初始时,端口设置,启动服务和退出按钮启动,而停止服务菜单项处于禁用状态。为菜单栏里各项和各个按钮添加事件侦听器和事件处理器。
(3)由于停止服务和退出等操作都会重用停止服务程序块,所以在主框架的程序中添3加启动服务和停止服务的函数。在事件处理器模块由java.util.EventObject.getSource()方法获取当前事件的事件源。如果事件源是启动服务,则调用启动服务函数启动服务;如果事件源是停止服务则调用停止服务函数停止服务;如果事件源是端口设置,可以新建一个类用以设置端口;如果事件源是退出则调用停止服