1. 程式人生 > >ASp.Net Websocket 環境支援和前端程式碼實現(二)

ASp.Net Websocket 環境支援和前端程式碼實現(二)

寫文不容易,請尊重原創:轉載註明 http://blog.csdn.net/meng6098

Websocket的環境支援:

1.支援html5的瀏覽器 經測試ie10google可以用 

2.Net伺服器環境,.Net 4.5IIS 8win8windows server2013,及以上版本。(這點很重要,我買了一個虛擬空間是iis7.5的,結果這個簡陋聊天室放上去無法連結。)

Websocket程式知識點:

Websocket的客戶端程式碼知識點:

<script type="text/javascript">

<!--申請一個Websocket物件,地址為伺服器一般處理程式地址,同http協議http://開頭一樣,WebSocket協議的URL使用ws://開頭,另外安全的WebSocket協議使用wss://開頭-->

var socket= new WebSocket(“ws://aiwantopws.com/WebSocketHandler.ashx”);

<!--WebSocket傳送訊息方法-->

socket.send(“Hello!”);

<!--WebSocket關係方法-->

socket.close();

<!--監聽事件-->

Socket.addEventListener("close", function (evt) { }, false);//監聽關閉事件

Socket.addEventListener("open", function (evt) { }, false);//監聽建立物件事件

Socket.addEventListener("message", function (evt) { }, false);//監聽訊息事件

Socket.addEventListener("error", function (evt) { }, false);//監聽錯誤事件

</script>


簡陋聊天室簡單的程式碼實現:

1. Index頁輸入使用者名稱,跳轉操作頁面default

2. 

<script type="text/javascript">

 var socket;

        var req = document.referrer;

//判斷來源

        if(req=="http://aiwantopws.com/index.aspx"||req== "http://aiwantopws.com/index.aspx") {

//獲取Get的使用者名稱

 var uname = GetQueryString("uname");

  if (uname!=null) {

                $(document).ready(function () {

//判斷瀏覽器是否支援HTML5 Web Sockets,這裡引用了一個modernizr-2.5.3.js包

                    if (!Modernizr.websockets) {

                       alert("該瀏覽器不支援 HTML5 Web Sockets!");

                        return;

                    }

//建立WebSocket物件。

                    socket=new WebSocket("ws://aiwantopws.com/WebSocketHandler.ashx");

//新增監聽事件,這裡我用json作為來回資訊傳遞

//當用戶連結(建立物件)時。

                    socket.addEventListener("open", function (evt) {

//傳送該使用者的使用者名稱到伺服器。

                        socket.send("{\"uname\":\"" + uname + "\"}");

                        $("#divHistory").append('<h3>Connection Opened with the server.</h3>');

                    }, false);

//當用戶執行關閉方法時,

                    socket.addEventListener("close", function (evt) {

                        $("#divHistory").append('<h3>Connection was closed. :' + evt.reason + '</h3>');

                    }, false);

//有訊息從伺服器傳送過來時執行

                    socket.addEventListener("message", function (evt) {

                      顯示訊息

                      更新線上人數(因為線上多少人在伺服器端更新)

                    }, false);

//出現異常時

                    socket.addEventListener("error", function (evt) {

                      顯示錯誤

                    }, false);

//傳送訊息

                    $("#btnSend").click(function () {

                         判斷連結狀態 {                      

                         傳送訊息   

                     }

                        else {

                         顯示該使用者斷線

                      }

                    });

//銷燬物件

                    $("#btnStop").click(function () {

                        socket.close();

                    });

                });

            } else {

                window.location.href = '/index.aspx';

            }

 

} else {

            window.location.href = '/index.aspx';

        }

</script>



相關推薦

ASp.Net Websocket 環境支援前端程式碼實現

寫文不容易,請尊重原創:轉載註明 http://blog.csdn.net/meng6098 Websocket的環境支援: 1.支援html5的瀏覽器 經測試ie10和google可以用  2.Net伺服器環境,.Net 4.5,IIS 8,win8,windows s

ASP.NET常用線上編輯器使用方法總結

嗯,本來只是想把常用的兩款感覺效果還不錯的線上編輯器給總結下,但是沒想到大家對此的反應還挺強烈的,那我就再總結兩款用的比較不錯的編譯器吧。 在上一篇文章的結尾有提到這款編譯器,個人覺得是使用者體驗最好的線上編譯器。先上個圖: 這個也就是我們新浪部落格用的釋出文章

ASP.NET Core Web API + Angular 仿B站後臺模型創建以及數據庫的初始化

[] let 查看 hang lar enc cep 連接字符串 nds 前言: 本系列文章主要為對所學 Angular 框架的一次微小的實踐,對 b站頁面作簡單的模仿。 本系列文章主要參考資料: 微軟文檔:    https://docs.microsoft.com

ASP.NET Core Web API + Angular 仿B站後臺模型建立以及資料庫的初始化

前言: 本系列文章主要為對所學 Angular 框架的一次微小的實踐,對 b站頁面作簡單的模仿。 本系列文章主要參考資料: 微軟文件:    https://docs.microsoft.com/zh-cn/aspnet/core/getting-started/?view=aspnetcore-2.1

ASP.NET Core 選項模式原始碼學習Options IOptions

前言 上一篇文章介紹IOptions的註冊,本章我們繼續往下看 IOptions IOptions是一個接口裡面只有一個Values屬性,該介面通過OptionsManager實現 public interface IOptions<out TOptions> where TOpt

Java常用的八種排序演算法與程式碼實現:歸併排序法、快速排序法

注:這裡給出的程式碼方案都是通過遞迴完成的 --- 歸併排序(Merge Sort):   分而治之,遞迴實現   如果需要排序一個數組,我們先把陣列從中間分成前後兩部分,然後對前後兩部分進行分別排序,再將排好序的數組合並在一起,這樣整個陣列就有序了   歸併排序是穩定的排序演算法,時間

機器學習:結點的實現,決策樹程式碼實現

文章目錄 楔子 定義變數: 定義方法 獲得劃分的feature 生成結點 停止條件及其處理 fit() 生成樹剪枝 楔子 前面已經實現了各種資訊量的計算,那麼我們劃分的基本有了,那

搶紅包案例分析以及程式碼實現 侵立刪

轉自:https://mp.weixin.qq.com/s/F1U1nUK2KF5R0nxT8lmfBg   概述 上一篇文章中使用ssm+mysql實現,存在併發超發問題,這裡我們使用悲觀鎖的方式來解決這個邏輯錯誤,並驗證資料一致性和效能狀況。 超發問題分析 針對

TensorFlow程式碼實現[實現異或門XOR]

第一個實驗:用神經網路實現異或門 測試資料如下: [0,0]->[0] [1,0]->[1] [1,1]->[0] [0,1]->[1] 資料量很小,但異或門遠沒有我想象的好寫,原來在第一層的時候我使用的啟用函式是relu,第

輸出一個集合的所有子集合-Java程式碼實現

接上篇,提供另外一種解題思路: 對於集合裡面的任何一個元素,有兩種可能,一種是在子集合裡,另一種是不在子集合裡。在子集合裡的話用1表示,不在的話用0表示,那麼一個集合的子集合都可以用二進位制表示,假設集合為{1,2,3},那麼可以用下列二級製表示:000,001,010,0

快速搭建CentOS+ASP.NET Core環境支援WebSocket

以前用python,go嘗試在linux下做web服務,python沒有強型別支援與高效能,go

ASP.NET Core 中文文件 第二章 指南2用 Visual Studio ASP.NET Core MVC 建立首個 Web API

HTTP 協議不僅僅提供網頁服務。它也是一個構建公開服務和資料 API 的強大平臺。HTTP 協議是簡單、靈活、無處不在的。幾乎你能想到的任何平臺上都有 HTTP 支援,所以 HTTP 服務能夠傳送到多種客戶端, 包括瀏覽器,移動裝置和傳統的桌面應用程式。 在本教程中,你將建立一個簡單的 Web API 來

ASP.NET Web API技術開發HTTP接口

ble 身份驗證 刪除 發現 bapi try prot 好用 get 開發工具 Visual Studio 2013 SQL Server 2008 R2 準備工作 啟動Visual Studio 2013,新建一個ASP.NET Web應用程序,命名為SimpleAPI

體驗 ASP.NET Core 中的多語言支持Localization

lan expander -c blank 根據 body esp doc input 首先在 Startup 的 ConfigureServices 中添加 AddLocalization 與 AddViewLocalization 以及配置 RequestLocaliz

ASP.net core 2.0.0 中 asp.net identity 2.0.0 的基本使用

使用 相對路徑 註意 apps 模型視圖 hand getc 技術分享 star 開發環境:vs2017 版本:15.3.5 項目環境:.net framework 4.6.1 模板asp.net core 2.0 Web應用程序(模型視圖控制器) 身份

ASP.NET MVC 解析模板生成靜態頁一RazorEngine

就是 about red 簡述 har ppa news odin mes 轉載 https://www.cnblogs.com/yuangang/p/5464758.html 簡述 Razor是ASP.NET MVC 3中新加入的技術,以作為ASP

ASP.NETCore MVC Visual Studio入門新增控制器

ASP.NETCore MVC 和 Visual Studio入門(二)  新增控制器 Rick Anderson     Model-View-Controller(MVC) 結構模式將一個應用分離為三個主要部分:模型(M)、檢視(V)和控制器

Asp.Net MVC+EF+三層架構 簡單搭建 1 Asp.Net MVC+EF+三層架構

首先,謝謝各位過客觀看,今天我們說下簡單的 Asp.Net MVC+EF+三層架構 搭建( 第一部分)。 很簡單,先看下完成之後程式碼圖:   這裡講的是一個整體框架的搭建,所以頁面暫時Pass,先以一個小的查詢為例。   一、新建Model、Dal、Bl

基於ASP.NET高職學生工作管理系統--文獻隨筆

流程 CMF [1] 數據信息 經濟 ron 學校 評價 素質 一、基本信息 標題:基於ASP.NET高職學生工作管理系統 時間:2015 出版源:電子科技大學 關鍵詞:高職; 學生管理; ASP.NET; 系統; 二、研究背景 問題定義:隨著社會的發展,我國經濟的發展,尤

asp.net core合並壓縮資源文件轉載

eve 名稱 鏈接 tails 合並 net div spn docs 在asp.net core中使用BuildBundlerMinifier合並壓縮資源文件 在asp.net mvc中可以使用Bundle來壓縮合並css,js 不知道的見:http://www.c