亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

html5-websocket基于遠程方法調用的數據交互實現

2024-08-26 00:16:20
字體:
來源:轉載
供稿:網友

點評:一般在傳統網頁中注冊用戶信息都是通過post或ajax提交到頁面處理,到了HTML5后我們有另一種方法就是通過websocket進行數據交互,接下來將詳細介紹,需要了解的朋友可以參考下

一般在傳統網頁中注冊用戶信息都是通過post或ajax提交到頁面處理,到了HTML5后我們有另一種方法就是通過websocket進行數據交互.websocket在數據交互有著傳統網頁所不具備的靈活性,通過Websocket建立長連接后服務器可以直接向client發送數據,而每次數據交互沒有必要帶上大量的http頭信息.websocket協議本身支持兩種數據格式文本和流,通過文本json的方式和javascript交互是一件非常簡單事情,通過json網頁和Websocket通訊就非常便利,但要達到這個便利性我們還是要做簡單的一些包裝還好現有的json在各平臺的組件都比較成熟.通過分析json數據映射到服務端對應的方法執行處理.

下面通過一個簡單的用戶注冊來體現html5用josn和websocket進行交互的處理過程.由于經過封裝處理所以使用起來非常方便.

HTML:

html5-websocket基于遠程方法調用的數據交互實現

功能很簡單就是連接到websocket服務后進行注冊信息提交,當然為了更靈活點我們在監測到連接關閉的時候重新打開連接窗體,具體的JS代碼如下:

復制代碼

代碼如下:


function connect() {
channel = new TcpChannel();
channel.Connected = function (evt) {
$('#dlgConnect').dialog('close');
};
channel.Disposed = function (evt) {
$('#dlgConnect').dialog('open');
};
channel.Error = function (evt) {
alert(evt);
};
channel.Connect($('#txtHost').val());
}


代碼是不是很簡潔,主要原因是在WebSocket的基礎上封裝了一個TcpChannel,詳細代碼可以下載了解.連接成功后就進入了注冊窗體

 

html5-websocket基于遠程方法調用的數據交互實現

通過填寫一些注冊信息后,點擊注冊把信息通過WebSocket提交給服務端,相關提交的JS代碼如下:

復制代碼

代碼如下:


var invokeregister = { url: 'Handler.OnRegister', parameters: { UserName: '', Email: '', PassWord: ''} };
function register() {
$('#frmRegister').form('submit', {
onSubmit: function () {
var isValid = $(this).form('validate');
if (isValid) {
invokeregister.parameters = $('#frmRegister').serializeObject();
channel.Send(invokeregister, function (result) {
alert(result.data);
});
}
return false;
}
});
}


當驗證數據成功后通過TcpChannel發送一個方法調用描述對象即可,url是指定調用的類方法,而paramters即是方法的參數,參數也可以是復雜的結構類型.第二個參數是一個回調處理. 

C#

服務由于基于Beetle的擴展處理,所以代碼是非常簡單的.針對以上注冊的邏輯方法代碼如下:

復制代碼

代碼如下:


public class Handler
{
public string OnRegister(string UserName, string Email, string PassWord)
{
Console.WriteLine(UserName);
Console.WriteLine(Email);
Console.WriteLine(PassWord);
return UserName;
}
}


方法只需要定義相關參數即可,Beetle的消息擴展控制器會自動分析js提交的json數據進行分析并綁定到相關方法中執行.對于控制器的詳細代碼也可以通過下載代得到.邏輯編寫完成我們只需要簡單地打開相關websocket服務即可.


復制代碼

代碼如下:

class Program:WebSocketJsonServer
{
static void Main(string[] args)
{
Beetle.Controllers.Controller.Register(new Handler());
TcpUtils.Setup("beetle");
Program server = new Program();
server.Open(8088);
Console.WriteLine("websocket start@8088");
System.Threading.Thread.Sleep(-1);
}
protected override void OnError(object sender, ChannelErrorEventArgs e)
{
base.OnError(sender, e);
Console.WriteLine(e.Exception.Message);
}
protected override void OnConnected(object sender, ChannelEventArgs e)
{
base.OnConnected(sender, e);
Console.WriteLine("{0} connected", e.Channel.EndPoint);
}
protected override void OnDisposed(object sender, ChannelDisposedEventArgs e)
{
base.OnDisposed(sender, e);
Console.WriteLine("{0} disposed", e.Channel.EndPoint);
}
}

這樣一個基于html5的websocket對象消息交互和處理就完成,只需很少量的代碼就實現了js和服務進行數據交互的處理.要實現這方便交互功能以下幾個封裝省不了.websocket協議分析,對象json處理和消息控制分發;如果想了解相關細可以下載源碼查看.

html5-websocket基于遠程方法調用的數據交互實現

WebSocket.Server.rar (641.79 kb)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美超级乱淫片喷水| 欧美日韩在线视频观看| 久久av中文字幕| 好吊成人免视频| 2023亚洲男人天堂| 久久久久久久久久久成人| 欧美精品手机在线| 国产综合福利在线| 色婷婷综合久久久久中文字幕1| 久久九九热免费视频| 日韩精品小视频| 国产成人精品久久二区二区| 这里只有精品视频在线| 米奇精品一区二区三区在线观看| 久久久久久91香蕉国产| 色噜噜亚洲精品中文字幕| 欧美一区第一页| 日韩在线播放av| 青青a在线精品免费观看| 亚洲男人第一网站| 国产mv久久久| 92国产精品视频| 一夜七次郎国产精品亚洲| 久久精品国亚洲| 亚洲视频专区在线| 91黑丝高跟在线| 91极品女神在线| 97超碰色婷婷| 国产精品无av码在线观看| 国产精品久久久久aaaa九色| 97av在线影院| 91高潮在线观看| 成人在线视频网站| 欧美在线视频a| 亚洲三级免费看| 国产日韩精品综合网站| 国产精品xxx视频| 啪一啪鲁一鲁2019在线视频| 日韩精品免费看| 欧美日韩一二三四五区| 亚洲视频电影图片偷拍一区| 精品亚洲一区二区三区四区五区| 色一情一乱一区二区| 国产97人人超碰caoprom| 日韩成人在线电影网| 91中文字幕在线观看| 国产精品成人在线| 亚洲欧洲在线免费| 国产大片精品免费永久看nba| 中文字幕日韩av综合精品| 精品美女国产在线| 亚洲影院污污.| 国产精品久久久久久久电影| 日韩在线一区二区三区免费视频| 68精品久久久久久欧美| 最新国产成人av网站网址麻豆| 黄网动漫久久久| 久久免费视频在线观看| 日韩av电影在线播放| 亚洲精品福利视频| 日韩av大片免费看| 国产精品视频免费在线观看| 国产精品一区二区三区免费视频| 成人羞羞国产免费| 亚洲国产免费av| 久久久久久伊人| 亚洲精品免费一区二区三区| 九九久久久久久久久激情| 日韩电影在线观看永久视频免费网站| 亚洲黄色在线观看| 久热精品视频在线| 亚洲日韩中文字幕| 亚洲色图美腿丝袜| 粉嫩老牛aⅴ一区二区三区| 精品久久中文字幕久久av| 欧美孕妇孕交黑巨大网站| 国产精品亚洲片夜色在线| 91av在线精品| 欧美劲爆第一页| 最新国产精品拍自在线播放| 91中文字幕在线| 久久青草福利网站| 亚洲a一级视频| 2018日韩中文字幕| 欧美亚洲国产成人精品| 国产亚洲欧美日韩精品| 国产精品第七十二页| 黄色一区二区在线观看| 欧美大片在线看| 日本不卡视频在线播放| 精品国产一区二区三区久久| 黄网站色欧美视频| 亚洲高清色综合| 日本欧美在线视频| 欧美一级电影久久| 亚洲网站在线观看| 性欧美亚洲xxxx乳在线观看| 亚州国产精品久久久| 97欧美精品一区二区三区| 久久久久99精品久久久久| 欧美国产亚洲精品久久久8v| 国产精品日韩av| 亚洲精品在线视频| 国产网站欧美日韩免费精品在线观看| 久久中国妇女中文字幕| 2020欧美日韩在线视频| 午夜欧美不卡精品aaaaa| 国产福利精品在线| 成人黄色午夜影院| 久久国产精品久久久久久久久久| 亚洲欧美日韩在线高清直播| 日韩毛片中文字幕| 在线播放精品一区二区三区| 亚洲精品v欧美精品v日韩精品| 97成人超碰免| 国产精品一区专区欧美日韩| 黄色成人av在线| 9.1国产丝袜在线观看| 久久久欧美一区二区| 日韩中文字幕欧美| 中文字幕日韩av电影| 国产成人精品网站| 亚洲午夜色婷婷在线| 亚洲综合日韩中文字幕v在线| 亚洲天堂男人的天堂| 国产成人一区二区在线| 欧美福利视频在线观看| 91精品国产九九九久久久亚洲| 狠狠综合久久av一区二区小说| 大荫蒂欧美视频另类xxxx| 成人网在线观看| 国产一区二区在线免费视频| 一区二区三区视频观看| 欧美日韩国产中文字幕| 成人妇女淫片aaaa视频| 久久久国产精品一区| 亚洲人成电影在线播放| 欧美在线性视频| 国产日韩在线看| 欧美亚洲日本黄色| 久久久亚洲国产| 欧美日韩国产成人高清视频| 性色av一区二区三区在线观看| 在线观看日韩av| 久久婷婷国产麻豆91天堂| 国产精品免费福利| 色狠狠av一区二区三区香蕉蜜桃| 精品亚洲国产成av人片传媒| 最新69国产成人精品视频免费| 久久久精品网站| 91精品免费视频| 色妞一区二区三区| 国产一区二区动漫| 国产精品日韩久久久久| 亚洲色图国产精品| 久久偷看各类女兵18女厕嘘嘘| 国产高清视频一区三区| 国产丝袜一区二区三区| 欧美精品免费在线观看| 欧美成人精品在线播放| 91九色蝌蚪国产| 亚洲性视频网站| 91av网站在线播放| 国产一区二区色|