基于互联网的计算—P2P 作业
本次开发实现了一个多用户的在线聊天程序,C/S 结构,客户端可发送消息,然后其他
的用户接收到该消息并将其显示在界面中,服务器对信息进行有关处理并向适当的用户发送,
同时在服务器端还将显示所有的在线用户,网络管理员即服务器端管理员可选中某用户并将
其踢出该聊天室。以上功能的完成主要分为以下几个步骤。
开发环境Eclipse3.2 —— Java开发的IDE工具,用于编写服务端和客户端的功能实现类。
一 Server 端
1 监听新用户加入(SimpleServer.java)
新建-〉工程(名为 Chat),新建包(名为 Server),新建 File,名为 SimpleServer.java。
在该类中,首先创建一 Frame 对象,而后再 Frame 类中添加两个按钮 button1(“关闭”)和
button2(“踢出”),一个列表框 list1 以及一个组合框 groupBox1,并利用 paneLayout 进行适
当的布局。完成 main 函数用来显示主窗体对象:
public static void main(String[] args)
{
try
{
SimpleServer simpleServer=new SimpleServer(4321);
simpleServer.setLocation(100,50);
simpleServer.setSize(400,300);
simpleServer.show();
}
catch(Exception e)
{
System.out.print("GotError");
e.printStackTrace() ;
}
}
在主程序中创建一个无限循环,用来监听指定端口查看是否有新的用户加入到聊天室,
每监听到一个新的用户则初始化建立一个 Socket 连接,并作为一个单独的线程保持与该用
户的所有联系。
首先定义个 ServerSocket,ServerSocket 就是服务器端的 Socket,它可以监听客户端的
连接,而同普通 Socket 不同就是它的实例化不需要指定主机名而只需要执行特定的端口(若
不指定系统就会自动赋予)就可以了:
try
{
protected ServerSocket listenSock;
int listenPort=4321;
listenSock=new ServerSocket(listenPort);
}