導航:首頁 > 編程語言 > java伺服器信息

java伺服器信息

發布時間:2023-05-23 16:32:53

1. 如何用java開發游戲伺服器

首先,我得說明的是,目前市場上新人很難去做pc游戲開發,要麼是做頁游要麼是手游。

頁游不清楚我就不說了,手游裡面,客戶端主要就是c2d和u3d。

如果昌困搜你尺並想做客戶端,那麼你可以轉學u3d,因為它使用的語言是csharp,這個語言和java相似。網上unity的教程也很多,你隨便找一下就有了。

再說說手游伺服器,其實我入行伺服器還是挺巧合的,當初本來是打算做客戶端的,都入職了,因為招不到伺服器,就讓我轉伺服器了。。

伺服器的教程,我至今也沒找到,而且也找不到系統的教程。

開源的伺服器框架也只熟悉kbengine和scut。其中一個是cpp做底層python做開發的,一個是csharp做開發。而且scut已經兩年沒有更新了,應該是死掉了。

所以,想要學伺服器開發,耐歷得碰點運氣。

java伺服器目前主流框架技術有網路層netty或mina,數據協議protobuf,資料庫mysql,緩存資料庫redis,jdbc一般是myts或者jpa,項目管理maven,設計層面spring

然後還需要熟悉多線程,linux的基本操作,git或者svn。

差不多了,這些都有個大致的了解,會用,應該就能找到工作了。

後面再深入需要學習的也挺多的,到時候你再根據業務需求自己琢磨著學吧。

2. JAVA Struts1 獲取伺服器信息 <%=request.ServerVariables("OS")%>

JSP 內轎沖置的HttpServletRequest對象拿謹沒有消帆基ServerVariables這個方法,別想著跟ASP能通用了!!!

3. 如何用Java實現Web伺服器

一 HTTP協議的作用原理

WWW是以Internet作為傳輸媒介的一個應用系統 WWW網上最基本的傳輸單位是Web網頁 WWW的工作基於客戶機/伺服器計算模型 由Web 瀏覽器(客戶機)和Web伺服器(伺服器)構成 兩者之間採用超文本傳送協議(HTTP)進行通信 HTTP協議是基於TCP/IP協議之上的協議 是Web瀏覽器和Web伺服器之間的應用層協議 是通用的 無狀態的 面向對象的協議 HTTP協議的作用原理包括四個步驟

( ) 連接 Web瀏覽器與Web伺服器建立連接 打開一個稱為socket(套接字)的虛擬文件 此文件的建立標志著連接建立成功

( ) 請求 Web瀏覽器通過socket向Web伺服器提交請求 HTTP的請求一般是GET或POST命令(POST用於FORM參數的傳遞) GET命令的格式為

GET 路徑/文件名 HTTP/

文件名指出所訪問的文件 HTTP/ 指出Web瀏覽器使用的HTTP版本

( ) 應答 Web瀏覽器提交請求後 通過HTTP協議傳送給Web伺服器 Web伺服器接到後 進行事務處理 處理結果又通過HTTP傳回給Web瀏覽器 從而在Web瀏覽器上顯示出所請求的頁面

例 假設客戶機與 /mydir/l建立了連接 就會發送GET命令 GET /mydir/l HTTP/ 主機名為的Web伺服器從它的文檔空間中搜索子目錄mydir的文件l 如果找到該文件 Web伺服器把該文件內容傳送給相應的Web瀏覽器

為了告知 Web瀏覽器傳送內容的類型 Web伺服器首先傳送一些HTTP頭信息 然後傳送具體內容(即HTTP體信息) HTTP頭信息和HTTP體信息之間用一個空行分開

常用的HTTP頭信息有

① HTTP OK

這是Web伺服器應答的第一行 列出伺服器正在運行的HTTP版本號和應答代碼 代碼 OK 表示請求完成

② MIME_Version

它指示MIME類型的版本

③ content_type 類型

這個頭信息非常重要 它指示HTTP體信息的MIME類型 如 content_type text/指示傳送的數據是HTML文檔

④ content_length 長度值

它指示HTTP體信息的長度(位元組)

( ) 關閉連接 當應答結束後 Web瀏覽器與Web伺服器必須斷開 以保證其它Web瀏覽器能夠與Web伺服器建立連接

二絕敗胡 Java實現Web伺服器功能的程序設計

根據上述HTTP協議的作用原理 實現GET請求的Web伺服器程序的方法如下

( ) 創並攔建ServerSocket類對象 監聽埠 這是為了區別於HTTP的標准TCP/IP埠 而取的

( ) 等待 接受客戶機連接到埠 得到與客戶機連接的socket

( )枯大 創建與socket字相關聯的輸入流instream和輸出流outstream

( ) 從與socket關聯的輸入流instream中讀取一行客戶機提交的請求信息 請求信息的格式為 GET 路徑/文件名 HTTP/

( ) 從請求信息中獲取請求類型 如果請求類型是GET 則從請求信息中獲取所訪問的HTML文件名 沒有HTML文件名時 則以l作為文件名

( ) 如果HTML文件存在 則打開HTML文件 把HTTP頭信息和HTML文件內容通過socket傳回給Web瀏覽器 然後關閉文件 否則發送錯誤信息給Web瀏覽器

( ) 關閉與相應Web瀏覽器連接的socket字

下面的程序是根據上述方法編寫的 可實現多線程的Web伺服器 以保證多個客戶機能同時與該Web伺服器連接

程序 WebServer java文件

//WebServer java 用JAVA編寫Web伺服器

import java io *

import *

public class WebServer {

public static void main(String args[]) {

int i= PORT=

ServerSocket server=null

Socket client=null

try {

server=new ServerSocket(PORT)

System out println( Web Server is listening on port +server getLocalPort())

for ( ) {client=server accept() //接受客戶機的連接請求

new ConnectionThread(client i) start()

i++

}

} catch (Exception e) {System out println(e) }

}

}

/* ConnnectionThread類完成與一個Web瀏覽器的通信 */

class ConnectionThread extends Thread {

Socket client //連接Web瀏覽器的socket字

int counter //計數器

public ConnectionThread(Socket cl int c) {

client=cl

counter=c

}

public void run() //線程體

{try {

String destIP=client getInetAddress() toString() //客戶機IP地址

int destport=client getPort() //客戶機埠號

System out println( Connection +counter+ connected to +destIP+ on port +destport+ )

PrintStream outstream=new PrintStream(client getOutputStream())

DataInputStream instream=new DataInputStream(client getInputStream())

String inline=instream readLine() //讀取Web瀏覽器提交的請求信息

System out println( Received +inline)

if (getrequest(inline)) { //如果是GET請求

String filename=getfilename(inline)

File file=new File(filename)

if (file exists()) { //若文件存在 則將文件送給Web瀏覽器

System out println(filename+ requested )

outstream println( HTTP/ OK )

outstream println( MIME_version )

outstream println( Content_Type text/ )

int len=(int)file length()

outstream println( Content_Length +len)

outstream println( )

sendfile(outstream file) //發送文件

outstream flush()

} else { //文件不存在時

String notfound=

Error file not found

outstream println( HTTP/ no found )

outstream println( Content_Type text/ )

outstream println( Content_Length +notfound length()+ )

outstream println( )

outstream println(notfound)

outstream flush()

}

}

long m =

while (m < ) {m ++ } //延時

client close()

} catch (IOException e) {

System out println( Exception +e)

}

}

/* 獲取請求類型是否為 GET */

boolean getrequest(String s) {

if (s length()> )

{if (s substring( ) equalsIgnoreCase( GET )) return true

}

return false

}

/* 獲取要訪問的文件名 */

String getfilename(String s) {

String f=s substring(s indexOf(′ ′)+ )

f=f substring( f indexOf(′ ′))

try {

if (f charAt( )==′/′)

f=f substring( )

} catch ( e) {

System out println( Exception +e)

}

if (f equals( )) f= l

return f

}

/*把指定文件發送給Web瀏覽器 */

void sendfile(PrintStream outs File file) {

try {

DataInputStream in=new DataInputStream(new FileInputStream(file))

int len=(int)file length()

byte buf[]=new byte[len]

in readFully(buf)

outs write(buf len)

outs flush()

in close()

} catch (Exception e) {

System out println( Error retrieving file )

System exit( )

}

}

}

程序中的ConnectionThread線程子類用來分析一個Web瀏覽器提交的請求 並將應答信息傳回給Web瀏覽器 其中 getrequest()方法用來檢測客戶的請求是否為 GET getfilename(s)方法是從客戶請求信息s中獲取要訪問的HTML文件名 sendfile()方法把指定文件內容通過socket傳回給Web瀏覽器

對上述程序的getrequest()方法和相關部分作修改 也能對POST請求進行處理

三 運行實例

為了測試上述程序的正確性 將編譯後的WebServer class ConnectionThread class和下面的l文件置於網路的某台主機的同一目錄中(如 主機NT SRV的C JWEB目錄)

程序 l文件

這是用JAVA寫出的WEB伺服器主頁

年 月 日


首先在該主機上用java命令運行WebServer class

C jweb>java webserver

然後在客戶機運行瀏覽器軟體 在URL處輸入WebServer程序所屬的URL地址(如 ) 就在瀏覽器窗口顯示出指定的HTML文檔

注意 不能預設埠號 如預設 則運行該主機的正常WEB伺服器

lishixin/Article/program/Java/hx/201311/26626

4. Java Web 伺服器的消息推送 幾種方案

Java Web 伺服器的消息推送有以下幾種方案:
1. 輪詢:前端使用ajax不停的發起請求獲取想要的數據(最簡單也是最容易耗盡伺服器資源)。
2. 長連接:HTTP長連接,客戶端向服務端發起請求,服務端等有數據了才response,否則一直持有該連接Cometgithub: comet4j 項目,可以直接下載配置jar到tomcat下使用。
3、使用xmpp協議的一種技術,能夠做到js中調用伺服器的Java方法。
消息推送建議用專業的推送平台,例如:極光。深圳市和訊華谷信息技術有限公司創立於2011年,其團隊核心成員來自騰訊、摩根士丹利、豆瓣、Teradata和中國移動等公司。公司總部位於深圳,在北京、上海、廣州、成都均設有辦公室。

5. java版伺服器地址怎麼看

方法如下
1、單擊電腦桌面「win」圖標,在菜單中點擊設置選項,進入設置頁面;

2、點擊「網路和Internet」選項,接著點擊左側屬性欄的「狀態」選項;

3、在頁面中進入「網路和共享中心」頁面,在頁面中單擊連接的網路名稱;

4、在彈窗中選擇「常規」選項,然後點擊頁面中的「詳細信息」選項;

5、在詳細信息頁面即可查看當前伺服器地址。

閱讀全文

與java伺服器信息相關的資料

熱點內容
蘋果系統轉換安卓系統有什麼麻煩 瀏覽:692
pdf如何拆分成多個pdf 瀏覽:109
廣西dns聯通伺服器地址大全 瀏覽:500
問道端游下載了忘了在哪個文件夾 瀏覽:251
開源phpoa框架 瀏覽:293
惠普511類似文件夾圖標閃動 瀏覽:53
php通訊錄系統 瀏覽:73
javajar包maven 瀏覽:108
仿圖怪獸安卓源碼 瀏覽:977
程序員越來越困 瀏覽:865
女朋友java程序員 瀏覽:338
魔獸世界加密貨幣 瀏覽:783
程序員打卡日記 瀏覽:766
車間壓縮空氣有水怎麼處理 瀏覽:835
java類調用php 瀏覽:476
php時間控制 瀏覽:808
用流程圖表示演算法分類 瀏覽:931
本地git文件夾誤刪除怎麼恢復 瀏覽:748
java快速開發平台開源 瀏覽:996
java實戰從入門 瀏覽:155