资源简介
服务端的功能主要如下:
一:能够开启和关闭服务器。
二:等待着客户端从特殊端口发送的请求。
三:监听的端口并不是固定的,服务端的端口是能够自定义的。
四:能够广播消息向所有连接到服务器的用户。
客户端和服务器之间通过socket套接字进行连接,socket的使用在java当中并不复杂,十分的简单。API提供了一个专门的类来处理,让编写程序变得十分简单。多线程的技术在服务器端得到了充分的体现,服务器能够同时处理来自不同IP的客户端的请求。通过循环调用serversocket对象的方法来监听是否有来自客户端的请求。
代码片段和文件信息
import java.io.*;
import java.net.*;
import java.util.*;
/**
* 聊天系统服务器程序
*/
public class AppServer extends Thread
{
private ServerSocket serverSocket;
private Serverframe sframe;
private static Vector userOnline = new Vector(1 1);
private static Vector v = new Vector(1 1);
/**
* 创建服务器 启动服务监听1001端口
*/
public AppServer()
{
sframe = new Serverframe();
try
{
serverSocket = new ServerSocket(1001);
InetAddress address = InetAddress.getLocalHost();
sframe.txtServerName.setText(address.getHostName());
sframe.txtIP.setText(address.getHostAddress());
sframe.txtPort.setText(“1001“);
} catch (IOException e)
{
fail(e “不能启动服务!“);
}
sframe.txtStatus.setText(“已启动...“);
this.start(); // 启动线程
}
/**
* 退出服务器
*
* @param e
* 异常
* @param str
* 退出信息
*/
public static void fail(Exception e String str)
{
System.out.println(str + “ 。“ + e);
}
/**
* 监听客户的请求,当有用户请求时创建 Connection线程
*/
public void run()
{
try
{
while (true)
{
Socket client = serverSocket.accept();
new Connection(sframe client userOnline v); // 支持多线程
}
} catch (IOException e)
{
fail(e “不能监听!“);
}
}
/**
* 启动服务器
*/
public static void main(String args[])
{
new AppServer();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 226 2017-03-18 17:29 chat\.classpath
文件 384 2017-03-18 17:29 chat\.project
文件 55 2017-05-10 20:44 chat\.settings\org.eclipse.core.resources.prefs
文件 0 2017-03-18 17:50 chat\111_message.txt
文件 1 2017-03-18 17:50 chat\aaa_message.txt
文件 2402 2017-05-17 15:31 chat\AppServer.class
文件 1450 2017-05-17 15:31 chat\AppServer.java
文件 33 2017-03-18 17:29 chat\badword.txt
文件 380 2017-03-13 22:41 chat\bin\.project
文件 9049 2009-05-04 07:06 chat\bin\src\images\from-download.gif
文件 0 2017-03-18 17:50 chat\ccc_message.txt
文件 947570 2017-03-18 17:29 chat\Champicons Icon 19.ico
文件 434 2017-05-16 23:28 chat\Chat.class
文件 373 2017-05-16 23:28 chat\Chat.java
文件 403 2017-05-16 20:03 chat\ChatClient.class
文件 130 2017-05-16 14:03 chat\ChatClient.java
文件 660 2017-05-16 20:03 chat\ChatRoom$1.class
文件 585 2017-05-16 20:03 chat\ChatRoom$Windowclose.class
文件 12629 2017-05-16 20:03 chat\ChatRoom.class
文件 13019 2017-05-16 10:40 chat\ChatRoom.java
文件 15 2017-03-18 17:29 chat\client.bat
文件 1846 2017-03-18 17:29 chat\CLOCK.ICO
文件 8537 2017-05-16 23:20 chat\Connection.class
文件 8653 2017-05-16 23:20 chat\Connection.java
文件 423 2017-05-16 20:03 chat\Customer.class
文件 301 2017-05-14 16:05 chat\Customer.java
文件 369 2017-05-16 20:03 chat\Exit.class
文件 214 2017-03-18 17:29 chat\Exit.java
文件 1520 2017-03-18 17:29 chat\face\1.JPG
文件 1413 2017-03-18 17:29 chat\face\2.JPG
............此处省略50个文件信息
评论
共有 条评论