コメント:一般的に、従来のWebページに登録されているユーザー情報は、PostまたはAjaxを介してページに送信されます。 HTML5を入力した後、WebSocketを介してデータと対話する別の方法があります。次に詳細に紹介します。知る必要がある友達はそれを参照できます。
一般に、従来のWebページに登録されているユーザー情報は、PostまたはAjaxを介してページに送信されます。 HTML5の後、WebSocketを介してデータと対話する別の方法があります。 WebSocketには、従来のWebページにはデータインタラクションに含まれていない柔軟性があります。 WebSocketを介して長い接続を確立した後、サーバーはクライアントに直接データを送信できます。データ相互作用ごとに大量のHTTPヘッダー情報を提供する必要はありません。 WebSocketプロトコル自体は、2つのデータ形式のテキストとストリームをサポートしています。 Text JSONを介してJavaScriptと対話するのは非常に簡単です。 JSONとWebSocket間の通信は非常に便利ですが、この利便性を達成するには、単純なパッケージを作成する必要があります。幸いなことに、さまざまなプラットフォーム上の既存のJSONコンポーネントは比較的成熟しています。 JSONデータをサーバーにマッピングする対応する方法を分析することにより、実行されます。
以下は、JosnおよびWebsocketと相互作用するHTML5のプロセスを反映する簡単なユーザー登録です。カプセル化されているため、使用するのは非常に便利です。
HTML:関数は非常に単純で、登録情報はWebSocketサービスに接続した後に送信されます。もちろん、より柔軟にするために、接続が閉じられているときに接続フォームを再開します。特定のJSコードは次のとおりです。
function connect(){
Channel = new tcpchannel();
Channel.Connected = function(evt){
$( '#dlgconnect')。ダイアログ( 'close');
};
Channel.disposed = function(evt){
$( '#dlgconnect')。ダイアログ( 'open');
};
Channel.error = function(evt){
アラート(EVT);
};
channel.connect($( '#txthost')。val());
}
コードは非常に簡潔ですか?主な理由は、TCPChannelがWebSocketに基づいてカプセル化されていることです。詳細なコードはダウンロードして理解できます。接続が成功した後、登録フォームを入力します。
登録情報を入力したら、[登録]をクリックして、WebSocketを介して情報をサーバーに送信します。関連する提出されたJSコードは次のとおりです。
var invokeregister = {url: 'handler.onregister'、パラメーター:{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){
アラート(result.data);
});
}
falseを返します。
}
});
}
検証データが成功すると、TCPChannelを介してメソッドコール説明オブジェクトを送信できます。 URLは呼び出すように指定されたクラスメソッドであり、パラメーターはメソッドのパラメーターであり、パラメーターは複雑な構造タイプでもあります。 2番目のパラメーターはコールバック処理です。
C#このサービスはBeetleの拡張処理に基づいているため、コードは非常に簡単です。上記の登録のロジックメソッドコードは次のとおりです。
パブリッククラスハンドラー
{
public string onregister(string username、string email、string password)
{
console.writeline(username);
console.writeline(email);
console.writeline(パスワード);
ユーザー名を返します。
}
}
このメソッドは、関連するパラメーターを定義する必要があります。 Beetleのメッセージ拡張コントローラーは、JSが提出したJSONデータを分析のために自動的に分析し、実行のための関連する方法に結合します。コントローラーの詳細なコードは、ダウンロードを通じて取得することもできます。ロジックが完了した後、関連するWebSocketサービスを単純に開くだけです。
{
static void main(string [] args)
{
beetle.controllers.controller.register(new Handler());
tcputils.setup( "Beetle");
プログラムサーバー= new Program();
server.open(8088);
console.writeline( "websocket start@8088");
System.threading.thread.sleep(-1);
}
保護されたオーバーライドボイドonerror(オブジェクト送信者、Channelerroreventargs e)
{
base.onerror(sender、e);
console.writeLine(e.exception.message);
}
保護されたオーバーライドvoid onconnected(object sender、channeleventargs e)
{
base.onconnected(sender、e);
console.writeline( "{0} connected"、e.channel.endpoint);
}
保護されたオーバーライドvoid disposed(オブジェクト送信者、チャンネル拡張ventargs e)
{
base.ondisposed(sender、e);
console.writeline( "{0}分散"、e.channel.endpoint);
}
}
HTML5に基づくこの種のWebSocketオブジェクトメッセージの相互作用と処理が完了しており、JSとサービスのデータインタラクション処理を実装するには、少量のコードのみが必要です。この便利な相互作用機能を達成するために、次のカプセル化を保存することはできません。 WebSocketプロトコル分析、オブジェクトJSON処理、メッセージ制御分布。関連する詳細を知りたい場合は、ソースコードをダウンロードして表示できます。websocket.server.rar(641.79 kb)