在之前的文章講述了使用websocket呼叫遠端方式的功能,在這基礎我們可以簡單地使用websocket進行資料處理方面的應用;只需要在方法執行相關的資料庫操作返回即可,結合jeasyui庫所提供豐富的控制項進行資料應用處理變得非常簡單的事情.下面使用jeasyui和websocket實現乙個查詢northwind資料訂單的應用案例.
首先分析一下以下乙個訂單查詢案例所需要的邏輯功能.
從以上的案例圖中可以得到包括的功能如下:
1)雇員查詢
2)客戶查詢
3)訂單分頁查詢
4)訂單明細查詢
針對以上功能可以實現簡單的邏輯查詢,**如下:
public class handler借助於開源元件smark.data的功能,只需要編寫簡單的**就能實現相應的資料查詢邏輯處理.public ilistlistcustomers()
public ilistgetorderdetail(int orderid)
", orderid);
return (order.orderid == orderid).list();
}public ordersearchresult listorder(orderssearch search)
\t customer:", search.employeeid, search.customerid);
ordersearchresult result = new ordersearchresult();
expression exp = new expression();
if (!string.isnullorempty(search.customerid))
exp &= customer.customerid.at() == search.customerid;
if (search.employeeid > 0)
exp &= employee.employeeid.at() == search.employeeid;
int count = exp.count();
result.orders = exp.list(new region(search.page, search.pagesize));
result.count = count;
return result;}}
定義websocket連線:
//建立連線在連線建立完成事件中進行資料查詢操作,由於連續進行3以上的websocket的傳送操作會導致傳送不成功,之於具體原因暫不清楚.所以只能通過settimeout來控制初始化的資料查詢.連線建立後就可以進行遠端方法呼叫,進行資料查詢操作具體相關**如下:function connect() ;
channel.disposed = function (evt) ;
channel.error = function (evt) ;
channel.connect($('#txthost').val());
}
雇員查詢遠端呼叫方法:
//雇員查詢客戶查詢遠端呼叫方法:var calllistemployees = };
function listemployee() );
$('#employees').combobox();
});}
//客戶查詢訂單查詢遠端呼叫方法:var calllistcustomers = };
function listcustomer() );
$('#customers').combobox();
});}
//訂單查詢訂單明細遠端呼叫方法:var calllistorder = }
};function listorder() );
});}
//訂單明細只需要以上簡單的**就可以實現乙個訂單查詢功能,看上去和傳統的ajax應用差不多,而這裡使用的服務是基於websocket而不是webserver.var callgetorderdetail = };
function getorderdetail() );
}
WebSocket實現原理
websocket同http和https一樣,屬於tcp基礎上的應用層的協議 因此其必然也是存在三次握手四次揮手的過程 一般來說,我們使用的http協議只能由客戶端發起請求,而服務端無法直接主動進行資料推送,這就導致了如果服務端有持續的變化 如聊天室 而客戶端獲取起來較為複雜 如實時性和服務端壓力等...
htm5 本地儲存
登入 title script document ready function else function logincheckajaxfunction else 下次自動登入 if document.getelementbyid isautologinid checked else if inpu...
htm5 動畫製作 工具
引用 我們都愛html5和令人驚嘆的動畫文章向我們展示了其真正的潛力。我相信,這麼多的美麗和創意的動畫後,你認為至少一次建立自己的,因為我們面對它,html5是實用,重量輕,移動友好,為了取得成功,在今天的網路,你需要的一切。所以,你想建立乙個專業的動畫或應用程式使用純的html5和css3的一些選...