2024年4月18日 星期四

TCP Audio Streamer and Player (Voice Chat over IP)

 TCP Audio Streamer and Player (Voice Chat over IP)


Fleck開發的多人網頁版即時聊天室

 Asp.Net Mvc基於Fleck開發的多人網頁版即時聊天室

Fleck 的簡要說明

1、最簡單、最常用的調用方法:(ws://172.10.3.4:8111改成您的伺服器本地IP和埠)


//控制台代碼

var server = new WebSocketServer("ws://172.10.3.4:8111");

server.Start(socket =>

{

  socket.OnOpen = () => Console.WriteLine("產生連接處理");

  socket.OnClose = () => Console.WriteLine("連接斷開處理");

  socket.OnMessage = (message) => {

  //1、此方法用於接收客戶端發送來的消息

  //2、可以做一些自己的操作,例如存入資料庫

  //3、為了響應客戶端,一般會使用下麵的send函數,返迴響應結果。

  socket.Send(message);

  }

});

2、Fleck本身只負責幫你單線聯繫。也就是客戶端A和伺服器建立連接後,會產生一個IWebSocketConnection,也就是上面代碼中socket變數的類型,它包含了接收方法、發送方法,但是都僅限於單一連接內。至於客戶端A想發送消息給客戶端B、C、D亦或者想群發,不好意思Fleck本身不Care。。。當然了那並不是這個功能就不能實現了,只是要開發者自己去把每一個IWebSocketConnection存儲起來,並管理他們的生存周期,通過自己的代碼去實現客戶端A給B發信息或者群發。


3、Fleck不需要額外的容器或進程來運行,它隨著IIS網站運行,也就是在w3wp.exe。至於它是怎麼運行的,目前我還沒有去看源碼,後期有時間再瞧瞧。


 


三、聊天室源碼位置


1、GitHub:https://github.com/DisSunRestart2020/DisSunChat


使用 SignalR 2 即時聊天

 教學課程:使用 SignalR 2 即時聊天

WPF+ASP.NET SignalR實現簡易線上聊天功能

[SignalR] 即時對話聊天室教學 #CH1


EasyUI

 easyui  官網


ASP.NET MVC 5 + jQuery EasyUI DataGrid 範例程式碼

asp.net+ashx+easyui+CRUD

ASP.NET结合EasyUI实现界面布局

ASP.NET使用 jQuery EasyUi DataGrid 存取資料

******

asp.net mvc+jquery easyui开发基础(一)模块首页及增加、修改、删除模块实现 (底部有很多篇)

使用 ASP.NET MVC 4 與 jQuery EasyUI 做出樹狀選單的顯示與管理功能.

abp(net core)+easyui+efcore实现仓储管理系统目录


2024年4月6日 星期六

ASP.NET內抓取網址的方式一覽表(Request)

 


Request.ApplicationPath /

Request.Url.Host my.url.com

Request.Url.Port 8080

Request.Url.Scheme https

Request.Url.Authority my.url.com:8080

Request.Path /Detail/Page/List.aspx/showmore

Request.Url.LocalPath /Detail/Page/List.aspx/showmore

Request.PathInfo /showmore

Request.Url.Query ?mid=20

Request.CurrentExecutionFilePath /Detail/Page/List.aspx

Request.FilePath /Detail/Page/List.aspx

Request.RawUrl /Detail/Page/List.aspx/showmore?mid=20

Request.Url.PathAndQuery /Detail/Page/List.aspx/showmore?mid=20

Request.Url.AbsoluteUri https://my.url.com:8080/Detail/Page/List.aspx/showmore?mid=20

Request.Url.AbsolutePath /Detail/Page/List.aspx/showmore


-----------



  Request.ApplicationPath

 //output:/

 

 Request.PhysicalPath

 //output:磁碟機代號:\父目錄\子目錄\Default3.aspx

 

 System.IO.Path.GetDirectoryName(Request.PhysicalPath)

 //output:磁碟機代號:\父目錄\子目錄

 

 Request.PhysicalApplicationPath

 //output:磁碟機代號:\父目錄\子目錄\

 

 System.IO.Path.GetFileName(Request.PhysicalPath)

 //output:Default3.aspx

 

 Request.CurrentExecutionFilePath

 //output:/Default3.aspx

 

 Request.FilePath

 //output:/Default3.aspx

 

 Request.Path

 //output:/Default3.aspx

 

 Request.RawUrl

 //output:/Default3.aspx?id=1019&uu=77

 

 Request.Url.AbsolutePath

 //output:/Default3.aspx

 

 Request.Url.AbsoluteUri

 //output:http://demo.tc/Default3.aspx?id=1019(這是上一頁的網址)

 

 Request.Url.Scheme

 //output:http

 

 Request.Url.Host

 //output:demo.tc

 

 Request.Url.Port

 //output:80

 

 Request.Url.Authority

 //output:demo.tc

 

 Request.Url.LocalPath

 //output:/Default3.aspx

 

 Request.PathInfo     

 //output:

 

 Request.Url.PathAndQuery

 //output:/Default3.aspx?id=1019&uu=77

 

 Request.Url.Query

 //output:?id=1019&uu=77


 Request.Url.Fragment     

 //output:

 

 Request.Url.Segments[0]

 //output:/

 

 Request.Url.Segments[1]

 //output:Default3.aspx 


2024年4月5日 星期五

 官網 about-jquery

官網線上 Jquery 教學

有空,可看看溫習一下; 很詳細


JQUERY 取值 設定值 用法


bootstrap modal submit form

 Should be pretty simple. Just give your form an id


Copy

<form id="the-form" method="POST" action="{{ route('sms.store') }}">

Give the submit button an id


Copy

<button id="the-submit" type="submit" class="btn btn-primary">Save changes</button>

Then use jquery (since you're using bootstrap) to submit the form when the submit button is clicked.


Copy

$(function() {

    $('#the-submit').on('click', function(e) {

        $('#the-form').submit();

    });

});



2024年4月2日 星期二

民國年轉換

 民國年轉換


使用DotNet TaiwanCalendar類別轉換民國年,只要簡單的將西元年日期做為參數傳入,即可取得民國年的相關數值,例如,年/月/日…,如下:


System.Globalization.TaiwanCalendar tc = new System.Globalization.TaiwanCalendar();


DateTime d = DateTime.Now;


string salesDate = String.Format(“民國{0}年{1}月{2}日”, tc.GetYear(d), tc.GetMonth(d), tc.GetDayOfMonth(d));


可惜的是,ToString()沒有支援Format參數指定輸出格式,不然就更加方便了,省掉自行組字串的步驟。另外要特別注意的是,指定小於西元1912/01/01的日期,會拋出超出日期範圍的例外,因為年份沒有負數的表示法。


如果不想用上述的方式,在每個輸出的地方都寫日期轉換的程式碼,有沒有更簡單的方式?


有的,可以在程式開始執行時,指定執行序的文化與曆法:


Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-TW");

Thread.CurrentThread.CurrentCulture.DateTimeFormat.Calendar = new TaiwanCalendar();


當使用DateTime.Now.ToString()時,得到的就是民國年日期,而且是整個系統範圍皆適用。


若需要用到台灣陰陽曆(農民曆)處理,也可使用TaiwanLunisolarCalendar類別來做轉換,使用方式相同。