『壹』 服務端與客戶端的交互技術有幾種
一般來說他們並不直接通信,你寫的又不是即時聊天軟體,否則你也不會用c/s架構,對吧。一般來說客戶端和伺服器端通過修改同一資料庫來實現間接通信,比如客戶端將自己的請求寫入資料庫相應的欄位中(可能需呀多個欄位來描述一條具體的請求),伺服器則不斷掃描資料庫,發現並處理用戶請求並將處理結果寫回資料庫以便客戶端查詢處理結果。
javaweb的客戶端就是瀏覽器,是根據TCP/IP協議進行數據傳輸,按照HTTP協議進行交互的
『叄』 客戶機伺服器交互模式的特點及應用
C/S結構,即Client/Server(客戶機/伺服器)結構,是大家熟知的軟體系統體系結構,通過將任務合理分配到Client端和Server端,降低了系統的通訊開銷,可以充分利用兩端硬體環境的優勢。Server是伺服器瑞,client是客戶端。
客戶端是面向用戶的,用戶通過客戶端提交各種請求(軟體功能范圍內的)。
伺服器端處理客戶請求並作出回應。Client就是中文中的客戶,用戶,使
用者,而Server就是和client相對應的東西,Client和Server之間的關系是一種服務的提供方,和服務
的使用方之間的關系,這種關系是生活中普遍存在的關系.例如,我們去銀行取錢,我們就是銀行的Cli
ent,而銀行作為一個整體是我們的Server.為我們提供服務的是銀行的一套系統,而不僅僅是某一個
具體的工作人員.這種關系,就是Client和Server之間的關系.Client/Server就是利用這種關系作為
基礎而構成的系統.
在客戶機/伺服器網路中,伺服器是網路的核心,而客戶機是網路的基礎,客戶機依靠伺服器獲得所需要的網路資源,而伺服器為客戶機提供網路必須的資源。
它是軟體系統體系結構,通過它可以充分利用兩端硬體環境的優勢,將任務合理分配到
Client端和Server端來實現,降低了系統的通訊開銷。目前大多數應用軟體系統都是Client/Server形式的兩層結構,由於現在的軟體應用系統正在向分布式的Web應用發展,Web和Client/Server
應用都可以進行同樣的業務處理,應用不同的模塊共享邏輯組件;因此,內部的和外部的用戶都可以訪問新的和現有的應用系統,通過現有應用系統中的邏輯可以擴展出新的應用系統。這也就是目前應用系統的發展方向。
『肆』 網路游戲客戶端和伺服器之間數據怎麼交互的
最簡單的模式就是,
客戶端接收鍵盤,滑鼠等的消息,然後發送個伺服器。
伺服器收到這些消息後,發送給其他(指定或者所有的)客戶端
就像你在WEB聊天室聊天一樣。首先鍵盤輸入了一大堆文字。然後按下「遞交」按鈕,於是客戶端收集你填寫的那些文字內容,然後發送給伺服器。(也許裡面有些色情暴力的字眼)
伺服器在接收的這些消息後,發送給其他用戶。(伺服器可能和諧掉那些色情暴力的字眼,變成了XXOO)
網路游戲的客戶端和伺服器也是一樣的道理
客戶端紀錄所有的消息指令,一般來說,如果該消息指令可能影響到其他人的,或者需要被其他人看到,這個消息就會需要被發送到伺服器。
伺服器處理這些消息進行處理,發送給其他相關的客戶端。
直白點來說,伺服器端與客戶端分別處理哪些事情?你是老闆,你說了算。
『伍』 如何實現數據交互
web數據交互方式,web數據交互,簡單的講,是client與server端的數據交互,通過http協議交互的。【擴展】對於小型個人系統,數據量不是很大的都是通過webservice,webservice讀取資料庫,然後返回結果;對於公司企業的大型數據系統等採用預先將資料庫中的每一條信息靜態化成xml,客戶直接下載xml然後本地解析的數據交互方法。web數據交互,從server的角度講:主要有pull,push兩個,一個是拉,另外一個是推。1)pull 是拉,客戶端向伺服器端主動的拉取數據,採用的技術是ajax 和Xss(跨站腳本)2)push 是伺服器向客戶端主動的推動數據,第一種方式是長連接,客戶端與伺服器之間一直保持著連接,如果有數據的更新,伺服器向客戶端推送數據,客戶端接受伺服器端的數據,可以理解為長輪詢,客戶端與伺服器端必須一直是連接著的狀態。另外還有一種是偽長鏈接的。有2種實現方式,一種是基於ajax的,它與傳統的ajax的方式不同在於,伺服器端會阻塞客戶端的請求直到有數據傳遞或者超時才返回。客戶端 JavaScript 響應處理函數會在處理完伺服器返回的信息後,再次發出請求,重新建立連接。 當客戶端處理接收的數據、重新建立連接時,伺服器端可能有新的數據到達;這些信息會被伺服器端保存直到客戶端重新建立連接,客戶端會一次把當前伺服器端所有的信息取回。
『陸』 android客戶端怎麼與伺服器交互
1、java伺服器建立至少一種服務webservices、servlet、socket
2、客戶端通過socket或者httpurlconnection的方式進行連接訪問
服務端:
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
resp.setContentType("text/html;charset=utf-8");
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
PrintWriter out = resp.getWriter();
//用HTML格式給瀏覽器返回數據
out.println("<html>");
out.println("<head>");
out.println("<title>Tomcat Servlet測試</title>");
out.println("</head>");
out.println("<body>");
out.println("Hello,First Servlet!");
out.println("</body>");
out.println("</html>");
out.println("Hello,第一個Tomcat!!!");
out.close();
}
客戶端:
private String doGet(String url){
String responseStr = "";
try {
String name = nameEdit.getText().toString().trim();
String code = codeEdit.getText().toString().trim();
String getUrl = URL + "?NAME=" + name+"&"+"CODE=" + code;
HttpGet httpRequest = new HttpGet(getUrl);
HttpParams params = new BasicHttpParams();
ConnManagerParams.setTimeout(params, 1000);
HttpConnectionParams.setConnectionTimeout(params, 3000);
HttpConnectionParams.setSoTimeout(params, 5000);
httpRequest.setParams(params);
HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);
final int ret = httpResponse.getStatusLine().getStatusCode();
if(ret == HttpStatus.SC_OK){
responseStr = EntityUtils.toString(httpResponse.getEntity(), HTTP.UTF_8);
}else{
responseStr = "-1";
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return responseStr;
}
『柒』 做java QQ聊天室的時候,多個客戶端怎麼通過伺服器進行交互
把伺服器看成是文件中轉站就行了,從客戶端接收消息,再轉發到目標客戶端。
source
<->
server
<=>
destination
『捌』 android客戶端和伺服器端怎麼交互
android客戶端和伺服器端是基於IntentService的,具體如下:
後台使用簡單的servlet,支持GET或POST。這個servlet最終返回給前台一個字元串flag,值是true或false,表示登錄是否成功。
然後在安卓的ADT上創建一個安卓項目,建立兩個Activity,分別作為登錄界面和登錄成功界面。
HTTP的訪問公共類,用於處理GET和POST請求。
IntentService服務,用於在後台以隊列方式處理耗時操作。
在AndroidManifest.xml中注冊IntentService。注意uses-permission節點,為程序開啟訪問網路的許可權。
登陸界面處理,注意按鈕監聽事件中,使用Intent將要傳遞的值傳給service。接收廣播類中,同樣使用Intent將要傳遞的值傳給下一個Activity。在onCreate()中,動態注冊接收廣播類的實例receiver。在接收廣播類中,不要使用完畢後忘記注銷接收器,否則會報一個Are you missing a call to unregisterReceiver()? 的異常。
『玖』 客戶端與服務端如何實現交互
簡單的這么說吧,注冊頁面有個form表單,表單裡面有一些注冊信息,form表單有個action讓其等於你的zhucehuili.asp,然後在zhucehuili.asp中用request接收表單中的值,有多少個值就需要多少個request來分別接受,然後進行相應處理就可以了,比如說插入資料庫等等……
『拾』 如何實現客戶端與伺服器的交互
C/S模式和B/S各有其有點也各有其缺點,B/S模式在開發中需要考慮數據如何從客戶端提交到伺服器端,數據又如何返回到客戶端,這些是B/S模式所特有的,在去年之前,開發B/S模式的程序,我都是利用form來交互數據,當我看到XML之後,發現XML是個好冬冬,有很多優點,有好的東西當然不能獨享啦,想當年為了實現XML交互數據,幾乎把網路翻了個遍。咚,一塊磚頭上來了。呵呵,廢話少說,下面我們就進入正題。
B/S模式分為伺服器端和客戶端,客戶端接受用戶的請求,客戶端向應用服務提出請求,應用服務從資料庫服務中獲得數據,應用服務將數據進行計算並將結果提交給客戶端,客戶端將結果呈現給用戶。這樣,我們就看到了數據從客戶到伺服器,經過伺服器的處理再返回到客戶端,由客戶端軟體(如IE)顯示結果。
(以ASP教本語言為例,其它的語言一樣哈。)
1.Form方式
Form方式是最基本的向伺服器提交數據的方式。
test.asp文件代碼:
<%@ Language=VBScript %>
<%
Response.Expires=-1
Response.CharSet="UTF-8"
Session.CodePage="65001"
%>
<form name="frmTest" id="frmTest" action="test.asp" method="POST">
<input name="name" id=" name" type="text" value="">
<input type="hidden" name="number" id="number" value="10">
<input type="submit" value="Submit" name="B1">
</form>
<%
dim intnumber
dim strname
if IsEmpty(Request("name")) then
strname =""
else
strname =Request("name")
end if
if IsEmpty(Request("number")) then
intnumber =0
else
intnumber =Request("number")
end if