国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java Socket編程(三) 服務器Sockets

2019-11-17 06:10:29
字體:
來源:轉載
供稿:網友
服務器Sockets

列表9.2是一個服務器應用程序的一部分.

列表9.2 一個簡單的服務器程序

/**
* 一個監聽端口并提供Html文檔的程序.
*/
class SimpleWebServer {
public static void main(String args[])
{
ServerSocket serverSocket = null;
Socket clientSocket = null;
int connects = 0;
try
{
{
// 建立一個服務器socket
serverSocket = new ServerSocket(80, 5);
while (connects < 5)
{
// 等待連接
clientSocket = serverSocket.accept();
//服務連接
ServiceClient(clientSocket);
connects++;
}
serverSocket.close();
}
catch (IOException ioe)
{
System.out.}
}
public static void ServiceClient(Socket client)
throws IOException
{
DataInputStream inbound = null;
DataOutputStream outbound = null;
try
{
// 得到IO流
inbound = new DataInputStream( client.getInputStream());
outbound = new DataOutputStream( client.getOutputStream());
//格式化輸出(回應頭和很少的HTML文檔)
StringBuffer buffer = PrepareOutput();
String inputLine;
while ((inputLine = inbound.readLine()) != null)
{
//假如到了HTTP請求的尾部,就發送回應
if ( inputLine.equals("") )
{
outbound.writeBytes(buffer.toString());
break;
}
}
}
finally
{
// 清除
System.out.println("Cleaning up connection: " + client);
tln("Cleaning up connection: " + client);
outbound.close();
inbound.close();
client.close();
client.close();
}
}
服務器并不是主動地建立連接.相反地,他們是被動地監聽一個客戶端的連接請示然后給他們服務.服務器是由類ServerSocket來建立的.下面的程序建立了一個服務器端socket并把它綁定到80端口:

ServerSocket serverSocket = new ServerSocket(80, 5);

第一個參數是服務器要監聽的端口.第二個參數是可選的.API文檔中說明了這是一個監聽時間,但是在傳統的socket程序中第二個參數是監聽深度.一個服務器可以同時接收多個連接請求,但是每次只能處理一個.監聽堆是一個無回答的連接請求隊列.上面的請求建立一個連接來處理最后五個請求.假如省略了后面的一個參數,則默認值是50.

ServerSocket serverSocket = new ServerSocket(80, 5);

一旦socket建立了并開始監聽連接,進來的連接將會建立并放在監聽堆.accetp()方法把在堆中的連接取出來.

Socket clientSocket = serverSocket.accept();


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和静县| 洛浦县| 莱西市| 莱西市| 大悟县| 芜湖县| 嵊州市| 樟树市| 苏州市| 丹江口市| 漳平市| 平顶山市| 长沙市| 镇坪县| 建水县| 柳州市| 水城县| 静安区| 大埔区| 桦南县| 依安县| 藁城市| 永靖县| 高陵县| 澜沧| 特克斯县| 仪陇县| 大理市| 宣恩县| 治县。| 西青区| 弥渡县| 龙门县| 诏安县| 秦皇岛市| 连云港市| 新乐市| 内江市| 永州市| 象山县| 胶州市|