資源簡介
服務端的功能主要如下:
一:能夠開啟和關閉服務器。
二:等待著客戶端從特殊端口發送的請求。
三:監聽的端口并不是固定的,服務端的端口是能夠自定義的。
四:能夠廣播消息向所有連接到服務器的用戶。
客戶端和服務器之間通過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個文件信息
評論
共有 條評論