自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#異步網(wǎng)絡(luò)編程兩大方法淺析

開發(fā) 后端
C#異步網(wǎng)絡(luò)編程的兩大方法是什么呢?C#異步網(wǎng)絡(luò)編程兩大方法各自的特點(diǎn)是什么呢?那么本問就向你介紹具體的內(nèi)容。

C#異步網(wǎng)絡(luò)編程兩大方法是什么呢?讓我們來看看:

在進(jìn)行C#異步網(wǎng)絡(luò)編程過程中,有些函數(shù)會(huì)以阻塞的方式執(zhí)行,此時(shí)就不能做其他事,十分沒有效率。C#異步網(wǎng)絡(luò)編程兩大方法來解決這個(gè)問題。一種方法是采用Asynchronous Sockets, 一種方法是調(diào)用非阻塞的Socket Methods。

C#異步網(wǎng)絡(luò)編程兩大方法一、Asynchronous Sockets的方法

Socket類的很多連接,發(fā)送,接收函數(shù)都有相應(yīng)的異步版本,如:BeginAccept,BeginConnect,BeginReceive,BeginReceiveFrom,BeginSend,BeginSendTo,EndAccept,EndConnect,EndReceive,EndReceiveFrom,EndSend,EndSendTo。這些函數(shù)都是成對(duì)出現(xiàn)的,利用了Windows的事件機(jī)制。應(yīng)用這些函數(shù),能夠避免網(wǎng)絡(luò)編程通信過程中出現(xiàn)阻塞。在BeginXXX函數(shù)中,注冊(cè)一個(gè)回調(diào)函數(shù),當(dāng)相應(yīng)事件發(fā)生后,此回調(diào)函數(shù)得到調(diào)用,在此回調(diào)函數(shù)內(nèi)再調(diào)用相應(yīng)的EndXXX函數(shù),得到返回值。

C#異步網(wǎng)絡(luò)編程兩大方法二、調(diào)用非阻塞的Socket Methods方法

Asynchronous Sockets的方法是基于消息事件的操作系統(tǒng)特有的,利用了Windows的事件機(jī)制,在控制臺(tái)應(yīng)用程序中就不能夠應(yīng)用這種方法。另一種方法是在進(jìn)行網(wǎng)絡(luò)通信過程中,在真正通信之前先察看狀態(tài),如果不會(huì)阻塞,才進(jìn)行通信。Socket類中的Poll()函數(shù)和Select()函數(shù)能夠完成這種功能。Poll函數(shù)可以察看是否有可用數(shù)據(jù)可讀,可用連接可建立,是否可寫等,還可以設(shè)定超時(shí)時(shí)間。Poll函數(shù)只針對(duì)一個(gè)Socket,而Select函數(shù)可以針對(duì)一組Socket。

異步Sockets的背后實(shí)際上是采用了多線程的機(jī)制實(shí)現(xiàn)的。利用異步Sockets,可以不涉及多線程的情況下,完成多線程才能做的工作。

C#異步網(wǎng)絡(luò)編程兩大方法的基本內(nèi)容就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#異步網(wǎng)絡(luò)編程有所幫助。

【編輯推薦】

  1. C#異步委托之委托使用的時(shí)機(jī)淺析
  2. C#異步通信概念及應(yīng)用淺析
  3. C#異步調(diào)用概念及理解淺談
  4. C#異步套接字實(shí)現(xiàn)淺析
  5. C#異步初步實(shí)例實(shí)現(xiàn)詳解
責(zé)任編輯:仲衡 來源: 博客園
相關(guān)推薦

2009-09-01 14:18:09

C#打開Excel文檔

2009-08-20 17:30:56

C#異步編程模式

2010-08-16 16:07:30

DIV垂直居中

2009-08-17 13:34:02

C#異步操作

2009-08-20 17:47:54

C#異步編程模式

2009-09-01 09:37:15

C#寫文件

2009-08-21 13:18:25

C#異步調(diào)用

2009-08-21 14:03:04

C#網(wǎng)絡(luò)編程

2009-08-21 14:47:39

C#網(wǎng)絡(luò)編程

2009-08-21 17:19:36

C#網(wǎng)絡(luò)編程入門

2009-08-21 09:20:44

C#異步套接字

2009-09-11 09:15:06

C# get方法

2009-08-10 17:36:17

C#擴(kuò)展方法

2009-09-10 14:52:55

C# get

2009-08-20 16:15:19

C# 匿名方法

2010-05-27 11:12:10

SVN目錄結(jié)構(gòu)

2009-08-27 14:12:02

C# interfac

2009-08-21 11:24:16

C#異步調(diào)用

2009-08-20 18:47:19

C#異步通信

2021-10-12 17:47:22

C# TAP異步
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)