freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

aspnet全面掌握visualc實現udp協議(編輯修改稿)

2024-09-26 16:31 本頁面
 

【文章內容簡介】 ializeComponent 過程的后面添加下面代碼,下列代碼是定義過程“ start_server”。此過程的功能是獲取客戶端對時請求數據,并向客戶端發(fā)送服務器當前時間和日期。 public void start_server ( ) { while ( true ) { //接收從遠程主機發(fā)送到本地 8080端口的數據 byte[] recData = ( ref receivePoint ) 。 ASCIIEncoding encode = new ASCIIEncoding ( ) 。 //獲得客戶端請求數據 string Read_str = ( recData ) 。 //提取客戶端的信息,存放到定義為 temp的字符串數組中 string[] temp = ( /.ToCharArray ( ) ) 。 //顯示端口號的請求信息 ( 時間: + . ToLongTimeString ( ) + 接收信息如下: ) 。 ( 客戶機: + temp[0] ) 。 ( 端口號: + temp[1] ) 。 //發(fā)送服務器端時間和日期 byte[] sendData = ( ( ) ) 。 ( 發(fā)送服務器時間! ) 。 //對遠程主 機的指定端口號發(fā)送服務器時間 ( sendData , , temp[0] , ( temp[1] ) ) 。 } } 請注意:上述代碼中約定客戶機程序發(fā)送對時請求信息到服務器的 8080 端口號。服務器端程序接收發(fā)送到本地 8080 端口號的數據就完成了數據接收。為了能夠讓服務器端程序知道是那臺客戶機提出請求和要把對時信息發(fā)送到客戶機的那個端口號上,客戶端程序對發(fā)送的對時請求信息進行了設計。客戶端的對時請求 信息結構為: 計算機名稱 + / + 客戶機接收信息端口號 這樣如果客戶端計算機名稱為: majinhu,接收服務器端時間數據的端口號是 8080,則客戶端程序發(fā)送的對時請求數據就為: majinhu/8080。 服務器端程序在接收到客戶端對時請求數據,并進行分析后,就能夠通過 UdpClient 類的 Send 方法準確的把服務器端當前的時間和日期發(fā)送到客戶端指定的端口號上。這樣客戶端程序通過讀取指定的端口號,就能夠獲得服務器端當前的時間和日期,從而以此來修正客戶端的時間和日期了。 “ start_server”過程之后面添加下面代碼,下列代碼是定義“ run”過程?!?run”過程的作用是創(chuàng)建一個線程實例,并以“ start_server”過程來初始化線程實例。之所以采用線程是因為服務器端程序需要不間斷讀取發(fā)送到 8080 端口號,并且 Receive 方法是一個阻塞式方法。采用線程就是為了保證服務器端程序正常運行: public void run ( ) { //利用本地 8080 端口號來初始化一個 UDP網絡服務 server = new UdpClient ( port ) 。 receivePoint = new IPEndPoint ( new IPAddress ( ip ) , port ) 。 //開一個線程 startServer = new Thread ( new ThreadStart ( start_server ) ) 。 //啟動線程 ( ) 。 } 中的 Main 函數之后添加下列代碼,下列代碼是定義“ Form1_Load”事件,在此事件中將調用“ run”過程,這樣當服務器端程序運行后,就啟動網絡對時服務: private void Form1_Load ( object sender , e ) { //啟動對時服務 run ( ) 。 } “ Form1_Load”事件之后,添加下列代碼,下列代碼是定義 button1的“ Click”事件,此事件的作用是清除服務器端程序顯示的日志信息: private void button1_Click ( object sender , e ) { //清除服務 器端程序日志 ( ) 。 } 中的 Dispose 方法。下列代碼的功能是手動收集程序中使用的資源: protected override void Dispose ( bool disposing ) { try { //關閉線程 ( ) 。 //清除資源 ( ) 。 } catch { } 。 if ( disposing ) { if ( ponents != null ) { ( ) 。 } } ( disposing ) 。 } 至此,在上述步驟都正確完成,【 UDP 對時服務器端】項目的全部工作就完成了。圖 02【 UDP 對時服務器端】運行后的界面,在日志信息中記錄了對時請求客戶機的名稱,發(fā)送對時數據的端口號以及客戶端請求的時間: 圖 02:【 UDP 對時服務器端】項目的運行界面 五. Visual C#實現網絡對時系統(tǒng)之客戶端程序的具體步驟: 客戶端的程序比服務器端程序要復雜些,因為客戶端程序不僅要往服務器端發(fā)送對時請求信息,接收服務器端反饋的日期和時間數據,還要提取這些時間和日期信息,并以此來修改本地端的日期和時間。參照上面實現網絡對時系統(tǒng)服務器端程序,實現請求信息的發(fā)送和接收應相對要容易許多。所以客戶端程序的關 鍵就是根據獲得的服務器端日期、時間數據來修改本地的日期、時間。在 .Net FrameWork SDK 3705 版本中并沒有提供修改本地日期和時間的函數和類庫,本文的實現辦法是引入 WinAPI 函數,通過對應的 WinAPI 函數來更正本地時間和日期的,具體可參閱以下第十三和第十八步。 以下是 Visual C#實現網絡對時系統(tǒng)之客戶端程序的具體實現步驟: Visual Studio .Net。 【文件】 |【新建】 |【項目】后,彈出【新建項目】對話框。
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1