日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

浅议C#客户端和服务端通信的几种方法:Rest和GRPC和其他

發布時間:2023/12/4 C# 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅议C#客户端和服务端通信的几种方法:Rest和GRPC和其他 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文來自:https://michaelscodingspot.com/rest-vs-grpc-for-asp-net/

淺議C#客戶端和服務端通信的幾種方法:Rest和GRPC

在C#客戶端和C#服務器之間進行通信的方法有很多。一些功能強大,而其他功能則不是很多。有些非???#xff0c;有些則不是。知道不同的選擇很重要,這樣您才能決定最適合自己的選擇。

本文將介紹當今最流行的技術,以及為何如此廣泛地使用它們。我們將討論REST,gRPC及其兩者之間的所有內容。

最佳方案

讓我們考慮一下我們希望如何在最佳環境中使客戶端與服務器之間的通信看起來像。我在想像這樣的東西:

// on client side public void Foo() {var server = new MyServer(new Uri("https://www.myserver.com/");)int sum = server.Calculator.SumNumbers(12,13); } // on server side class CalculatorController : Controller{public int SumNumbers(int a, int b){return a + b;} }

我當然想要完整的Intellisense。當我單擊server并.?希望Visual Studio顯示所有控制器時。當我單擊CalculatorController和時.,我想查看所有操作。我還想要一流的性能,很少的網絡負載和雙向通信。而且我想要一個能夠完美處理版本控制的強大系統,這樣我就可以毫不費力地部署新的客戶端版本和新的服務器版本。

要求太多嗎?

請注意,我在這里談論的是無狀態API。這等效于C#項目,其中只有兩種類型的類:

?靜態類,只有靜態方法。?POCO類[1]僅具有類型為基本類型或其他POCO類的字段和屬性。

在API中使用狀態會帶來復雜性,而這正是萬惡之源。因此,為了本文的方便,讓我們保持美好和無狀態。

傳統REST

REST API出現在2000年代初期,席卷了整個互聯網。到目前為止,它是創建Web服務的最流行的方法。

REST為客戶端到服務器的請求定義了一組固定的操作GET,POST,PUTDELETE。每個請求都將通過包含有效負載(通常為JSON)的響應來回答。請求包含在查詢本身中的參數,或者在它是POST請求時包含為有效負載(通常為JSON)的參數。

有一個稱為RESTful API的標準,它定義了以下規則(您實際上不必使用它):

?GET用于檢索資源?PUT用于更改資源狀態?POST用于創建資源?DELETE用于刪除資源

如果您到目前為止還不熟悉REST,則上面的解釋可能不會減少它,因此這里有一個示例。在.NET中,內置了對REST的支持。實際上,默認情況下,ASP.NET Web API被構建為REST Web服務。這是典型的客戶端和ASP.NET服務器的外觀:

在服務器中:

[Route("People")] public class PeopleController : Controller {[HttpGet]public Person GetPersonById(int id){Person person = _db.GetPerson(id);return person;//Automatically serialized to JSON} }

在客戶中:

var client = new HttpClient(); string resultJson = await client.GetStringAsync("https://www.myserver.com/People/GetPersonById?id=123"); Person person = JsonConvert.DeserializeObject<Person>(resultJson);

REST非常方便,但是并沒有達到最佳方案。因此,讓我們看看是否可以做得更好。

ReFit

ReFit不能替代REST。相反,它建立在REST之上,并允許我們像調用簡單方法一樣調用服務器端點。這是通過在客戶端和服務器之間共享接口來實現的。在服務器端,您的控制器將實現一個接口:

public interface IMyEmployeeApi {[Get("/employee/{id}")]Task<Employee> GetEmployee(string id); }

然后,在客戶端,您需要包括相同的接口并使用以下代碼:

var api = RestService.For<IMyEmployeeApi>("https://www.myserver.com"); var employee = await api.GetEmployee("abc");

就這么簡單。除了幾個NuGet軟件包外,無需運行困難的自動化程序或使用任何第三方工具。

這更接近最佳方案?,F在,我們有了IntelliSense,并且客戶端和服務器之間的合同很牢固。但是還有另一種選擇,在某些方面甚至更好。

昂首闊步

像ReFit一樣,Swagger也建立在REST之上。OpenAPI[2]Swagger是REST API的規范。它描述了具有簡單JSON文件的REST Web服務。這些文件是Web服務的API架構。它們包括:

?API中的所有路徑(URL)。?每個路徑的預期操作(GET,POST等)。每個路徑可以處理不同的操作。例如,單個路徑https://mystore.com/Product可能接受添加產品的POST操作和返回產品的GET操作。?每個路徑和操作的預期參數。?每個路徑的預期響應。?每個參數和響應對象的類型。

該JSON文件實質上是客戶端和服務器之間的合同。這是一個描述一個稱為Swagger Petstore[3]的Web服務的swagger文件的示例(為清楚起見,我刪除了一些部分):

{ "swagger":"2.0","info":{ "version":"1.0.0","title":"Swagger Petstore","description":"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification",},"host":"petstore.swagger.io","basePath":"/api","schemes":[ "http"],"consumes":[ "application/json"],"produces":[ "application/json"],"paths":{ "/pets":{ "get":{ "description":"Returns all pets from the system that the user has access to","operationId":"findPets","produces":[ "application/json","application/xml",],"parameters":[ { "name":"tags","in":"query","description":"tags to filter by","required":false,"type":"array","items":{ "type":"string"},"collectionFormat":"csv"},{ "name":"limit","in":"query","description":"maximum number of results to return","required":false,"type":"integer","format":"int32"}],"responses":{ "200":{ "description":"pet response","schema":{ "type":"array","items":{ "$ref":"#/definitions/Pet"}}}, ...

讓我們考慮一下這個結果。使用上面的JSON文件,您可以潛在地創建具有完整IntelliSense的C#客戶端。畢竟,您知道所有路徑,操作,它們期望的參數,什么參數類型,什么是響應等等。

有幾種工具可以做到這一點。對于服務器端,可以使用Swashbuckle.AspNetCore[4]將Swagger添加到ASP.NET中并生成所述JSON文件。對于客戶端,您可以使用swagger-codegen[5]和AutoRest[6]來使用這些JSON文件并生成客戶端。讓我們看一個如何做到這一點的例子:

將Swagger添加到ASP.NET服務器

首先添加NuGet包Swashbuckle.AspNetCore[7]。在中ConfigureServices,注冊Swagger生成器:

services.AddSwaggerGen(options => options.SwaggerDoc("v1", new OpenApiInfo {Title = "My Web API", Version = "v1"}));

在添加Configure方法中Startup.cs:

app.UseSwagger();

最后,控制器內部的動作應使用[HttpXXX]和[FromXXX]屬性修飾:

[HttpPost] public async Task AddEmployee([FromBody]Employee employee) {//... }[HttpGet] public async Task<Employee> Employee([FromQuery]string id) {//... }

就像服務器端一樣簡單。運行項目時,swagger.json將生成一個文件,可用于生成客戶端。

使用AutoRest從Swagger生成客戶端

要開始使用AutoRest[8],與安裝NPM[9]:npm install -g autorest。安裝后,您將需要使用AutoRest的命令行界面從該swagger.json文件生成C#客戶端。這是一個例子:

autorest --input-file="./swagger.json" --output-folder="GeneratedClient" --namespace="MyClient" --override-client-name="MyClient" --csharp

這將產生一個GeneratedClient包含生成的C#文件的文件夾。請注意,名稱空間和客戶端名稱被覆蓋。從這里,將此文件夾添加到Visual Studio中的客戶端項目。

您需要安裝Microsoft.Rest.ClientRuntimeNuGet軟件包,因為生成的代碼取決于該軟件包。安裝后,您可以像使用常規C#類一樣使用API:

var client = new MyClient(); Employee employee = client.Employee(id: "abc");

您可以在AutoRest的文檔中[10]閱讀一些細微之處。而且您需要使該過程自動化,因此我建議閱讀Patrik Svensson的教程,[11]以獲得一些好的建議以及Peter Jausovec的這篇文章[12]

Swagger的問題是JSON文件是在運行時創建的,因此這使得在CI / CD流程中實現自動化有點困難。

傳統REST vs Swagger vs ReFit

進行選擇時,請注意以下幾點。

?如果您有一個非常簡單的私有REST API,則也許不必理會客戶端生成和共享接口。小任務并不能證明付出額外的努力是合理的。?Swagger支持多種語言,而ReFit僅支持.NET。Swagger還是許多工具,測試,自動化和UI工具的基礎。如果您要創建一個大型的公共API,它將可能是最佳選擇。?Swagger比ReFit復雜得多。使用ReFit,只需在服務器和客戶端項目中添加一個接口即可。另一方面,使用ReFit,您必須為每個控制器創建新的接口,而Swagger會自動進行處理。

但是在決定任何事情之前,請檢查與REST無關的第四個選項。

gRPC

gRPC[13]gRPC遠程過程調用)是Google開發的開源遠程過程調用系統。它有點像REST,它提供了一種將請求從客戶端發送到服務器的方式。但這在許多方面都不同,這是相同點和不同點:

?像REST一樣,gRPC與語言無關。有適用于所有流行語言的工具,包括C#。?gRPC是契約的基礎,并使用.proto文件來定義契約。這有點類似于Swaggerswagger.json和ReFit的共享界面??梢詮哪切┪募猩扇魏尉幊陶Z言的客戶端。?gRPC使用協議緩沖區(Protobuf)[14]二進制序列化。這與REST(通常序列化為JSON或XML)不同。二進制序列化較小,因此更快。?gRPC用于使用HTTP / 2協議創建持久連接。該協議更簡單,更緊湊。REST使用HTTP 1.x協議(通常為HTTP 1.1)。?HTTP 1.1要求每個請求都進行TCP握手,而HTTP / 2則保持連接打開。?HTTP / 2連接使用多路復用流。這意味著單個TCP連接可以支持許多流。這些流可以并行執行,而不必像HTTP 1.1中那樣互相等待。?gRPC允許雙向流。

有兩種使用gRPC的方法。對于.NET Core 3.0,有一個完全托管的庫,稱為.NET的gRPC[15]。對于其中的任何內容,您都可以使用gRPC C#[16],它是使用本機代碼構建的。這并不意味著適用于.NET的gRPC可以替代gRPC C#。讓我們來看一個用于.NET的更新gRPC的示例。

.NET的gRPC的服務器端

這不是教程,而是更多有關預期內容的一般性想法。這是示例控制器在gRPC中的外觀:

public class GreeterService : Greeter.GreeterBase {public override Task<HelloReply> SayHello(HelloRequest request,ServerCallContext context){_logger.LogInformation("Saying hello to {Name}", request.Name);return Task.FromResult(new HelloReply {Message = "Hello " + request.Name});} }

您需要添加以下的Configure在Startup.cs:

app.UseEndpoints(endpoints => {endpoints.MapGrpcService<GreeterService>(); });

API在.proto文件中描述,該文件是項目的一部分:

syntax = "proto3";service Greeter {rpc SayHello (HelloRequest) returns (HelloReply); }message HelloRequest {string name = 1; }message HelloReply {string message = 1; }

此.proto文件添加到.csproj:

<ItemGroup><Protobuf Include="Protos\greet.proto" /> </ItemGroup>

.NET的gRPC客戶端

客戶端是從.proto文件生成的。代碼本身非常簡單:

var channel = GrpcChannel.ForAddress("https://localhost:5001"); var client = new Greeter.GreeterClient(channel);var response = await client.SayHello(new HelloRequest { Name = "World" });Console.WriteLine(response.Message);

gRPC與REST

gRPC聽起來不錯。它在框架下更快,更簡單。那么,我們都應該從REST變為gRPC嗎?答案是,這取決于你的應用場景。

以下是一些注意事項:

從我的印象來看,使用gRPC和ASP.NET仍然不是很好。借助對REST的成熟支持,您會變得更好。就基于契約的通信而言,這很不錯,除了在REST中有我們已經討論過的類似替代方案:Swagger和ReFit。

最大的優勢是性能。根據這些基準[17],在大多數情況下,gRPC更快。特別是對于大型有效載荷,Protobuf序列化確實有所作為。這意味著對于高負載服務器而言,這是一個巨大的優勢。

在大型ASP.NET應用程序中從REST過渡到gRPC將非常困難。但是,如果您具有基于微服務的體系結構,那么逐步完成此過渡就變得容易得多。

其他溝通方式

還有其他一些我完全沒有提及的通信方式,但是值得一提的是:

?GraphQL[18]是Facebook開發的API的查詢語言。它允許客戶端從服務器確切地要求它需要的數據。這樣,您可以在服務器上僅創建一個端點,該端點將非常靈活,并且僅返回客戶端所需的數據。近年來,GraphQL變得非常流行。?SignalR[19]是一項允許服務器與客戶端之間進行實時雙向通信的技術。SignalR不僅允許客戶端始終向服務器發送請求,還允許服務器向客戶端發送推送通知。這樣可以查看Web應用程序中的實時更新。SignalR在ASP.NET中非常流行。?TcpClient[20]和TcpListener[21](在中System.Net.Sockets)提供基于TCP的低級連接。基本上,您將建立連接并傳輸字節數組。對于大型應用程序而言,它不是理想的選擇,在大型應用程序中,您可以使用ASP.NET的控制器和操作在大型API中進行訂購。?UdpClient[22]提供了一種通過UDP協議進行通信的方法。TCP建立連接,然后發送數據,而UDP僅發送數據。TCP確保數據中沒有錯誤,而UDP沒有。UDP可以更有效地快速傳輸數據,您不必擔心它是否可靠且沒有錯誤。一些示例是:視頻流,實時廣播和IP語音(VoIP)。?WCF[23]是一種較舊的技術,主要在進程之間使用基于SOAP的通信。這是一個龐大的框架,我要說的是它已不再受REST和JSON負載的歡迎。

References

[1]?POCO類:?https://www.c-sharpcorner.com/UploadFile/5d065a/poco-classes-in-entity-framework/
[2]?OpenAPI:?https://swagger.io/specification/
[3]?Swagger Petstore:?https://bfanger.nl/swagger-explained/#operationObject
[4]?Swashbuckle.AspNetCore:?https://github.com/domaindrivendev/Swashbuckle.AspNetCore
[5]?swagger-codegen:?https://github.com/swagger-api/swagger-codegen
[6]?AutoRest:?https://azure.github.io/autorest/
[7]?Swashbuckle.AspNetCore:?https://www.nuget.org/packages/Swashbuckle.AspNetCore
[8]?AutoRest:?https://github.com/Azure/autorest
[9]?NPM:?https://www.w3schools.com/nodejs/nodejs_npm.asp
[10]?文檔中:?https://azure.github.io/autorest/client/ops.html
[11]?教程,:?https://www.patriksvensson.se/2018/10/generating-api-clients-using-autorest
[12]?文章:?https://medium.com/@pjausovec/creating-c-client-library-for-web-api-projects-be132c831f9c
[13]?gRPC:?https://grpc.io/
[14]?協議緩沖區(Protobuf):?https://en.wikipedia.org/wiki/Protocol_Buffers
[15]?.NET的gRPC:?https://github.com/grpc/grpc-dotnet
[16]?gRPC C#:?https://github.com/grpc/grpc/tree/master/src/csharp
[17]?根據這些基準:?https://www.yonego.com/nl/why-milliseconds-matter/#gref
[18]?GraphQL:?https://graphql.org/
[19]?SignalR:?https://github.com/SignalR/SignalR
[20]?TcpClient:?https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.tcpclient?view=netframework-4.8
[21]?TcpListener:?https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.tcplistener?view=netframework-4.8
[22]?UdpClient:?https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.udpclient?view=netframework-4.8
[23]?WCF:?https://docs.microsoft.com/en-us/dotnet/framework/wcf/whats-wcf

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的浅议C#客户端和服务端通信的几种方法:Rest和GRPC和其他的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

特级毛片在线 | 99精品久久只有精品 | 色网免费观看 | 国产亚洲精品久久久网站好莱 | 草免费视频 | 欧美粗又大 | 久久精品免视看 | 欧美色婷 | 久久国产精品小视频 | 欧美日韩中文国产 | 免费观看视频黄 | 久久一区二区三区四区 | 成人一区二区在线 | 久色免费视频 | 日韩精品中文字幕久久臀 | 亚洲黑丝少妇 | 午夜视频欧美 | 2019精品手机国产品在线 | 91成人在线视频观看 | 国产精品永久久久久久久久久 | 欧美精品一区在线 | wwwav视频| 亚洲禁18久人片 | 免费观看久久 | 欧美激情片在线观看 | 欧美精品一区二区三区一线天视频 | 成人h视频 | 免费福利片 | 久久久久伦理电影 | 香蕉视频一级 | 日日日爽爽爽 | 国产精品一区二区三区四区在线观看 | 欧美精品久久久久久久久久白贞 | 亚洲一区免费在线 | 免费看成人av | 国产黄影院色大全免费 | 日韩在线高清视频 | 欧美日韩国产精品爽爽 | 91人人揉日日捏人人看 | 久草干 | 国产成人精品久久久久 | 日本黄色大片儿 | 日韩精品一区不卡 | 国产精品a成v人在线播放 | 在线观看国产永久免费视频 | 亚洲一级片免费观看 | 国产成人精品国内自产拍免费看 | 国产黄色片在线免费观看 | 亚洲精品a区 | 日本黄色免费电影网站 | 欧美专区日韩专区 | 日韩网站一区二区 | 男女视频国产 | 激情喷水 | 最近日本mv字幕免费观看 | 欧美日韩中字 | 天天拍天天操 | 中文字幕高清 | 在线欧美中文字幕 | 青青草国产在线 | 亚洲综合色丁香婷婷六月图片 | 99麻豆视频 | 久久综合在线 | 成人黄色大片网站 | 91精品国产综合久久福利 | 天无日天天操天天干 | 97在线免费 | 免费看的黄色小视频 | 成人中心免费视频 | 91免费观看国产 | 亚洲人成在线电影 | 免费精品在线视频 | 久草在线资源视频 | 精品国内自产拍在线观看视频 | 久久久电影 | 日韩免费电影一区二区 | 97久久精品午夜一区二区 | 成人a视频片观看免费 | 操操日日 | 久久激情久久 | 久久综合九色综合97婷婷女人 | av网址在线播放 | 美女视频黄是免费的 | 天天射天天射天天射 | 婷婷精品国产一区二区三区日韩 | 国产精品高潮久久av | 久草视频播放 | 人人干狠狠干 | 一区二区三区免费看 | 国产综合香蕉五月婷在线 | 色婷婷电影| 91在线亚洲 | 四虎永久视频 | 日韩精品一区二区三区外面 | 黄a在线| 久久综合射 | 九九久久精品视频 | 国产无套精品久久久久久 | 最新av免费在线观看 | 91麻豆精品国产自产 | 国产 中文 日韩 欧美 | 成人av资源网站 | 亚洲免费高清视频 | 色偷偷88888欧美精品久久久 | 欧美人体xx| www.福利| 1区2区视频| 国产精品久久久久久久久久久免费看 | 天天综合网天天综合色 | 国产精品久久一 | 国产精品h在线观看 | 开心丁香婷婷深爱五月 | 国产系列 在线观看 | 国产成人亚洲精品自产在线 | 国内精品久久久久久久久久久久 | 国产精品一区二区在线观看免费 | 中文资源在线播放 | 国产精品精品久久久久久 | 综合久久一本 | 美国人与动物xxxx | 亚洲精品视频免费在线观看 | 久久久久国产精品一区 | 麻豆精品传媒视频 | 丁香六月婷婷综合 | 日本免费久久高清视频 | 成人久久久精品国产乱码一区二区 | 嫩草91影院| 精品在线播放视频 | 久久国产免费视频 | 91理论片午午伦夜理片久久 | 一区二区视频在线播放 | 国产精品手机视频 | 久久精品香蕉视频 | 国产精品久久一区二区无卡 | 麻豆手机在线 | 久久久首页| 日韩特级毛片 | 天天人人综合 | 日韩视频一区二区在线观看 | 444av| 日日日干 | 亚洲黄a| 欧美激情精品久久 | av中文字幕在线观看网站 | 亚洲高清视频在线观看 | 六月天综合网 | 在线v片免费观看视频 | av网站在线免费观看 | 久久国产亚洲精品 | .国产精品成人自产拍在线观看6 | 国产免费片 | 久久久久一区二区三区四区 | 69久久99精品久久久久婷婷 | 国产精品毛片久久 | 久久热亚洲 | 婷婷综合导航 | 国产精品一区专区欧美日韩 | 日韩久久精品一区二区三区 | 超碰国产在线播放 | 久草电影免费在线观看 | 91网站免费观看 | 日韩在线观看视频在线 | 操少妇视频 | 国产精品午夜在线观看 | 欧美激情视频一区二区三区免费 | 国产精品日韩久久久久 | 在线亚洲观看 | 国产高清成人 | 久久精品精品 | 国产精品福利在线播放 | 99久在线精品99re8热视频 | 天天草av| 亚洲一区美女视频在线观看免费 | 国产一区二区高清 | 欧美日韩一区二区三区在线免费观看 | 99久久99久国产黄毛片 | 精品久久免费看 | 亚洲欧美日韩不卡 | 999久久久久久 | 97精品国自产拍在线观看 | 99精品视频在线播放免费 | 免费热情视频 | 丁香六月婷婷激情 | 国产中的精品av小宝探花 | 高清av网站 | 999在线观看视频 | 日韩a级黄色| www日韩精品 | 九热在线 | 中文视频在线播放 | 久久精品一区二区 | 欧美日韩国产一区二区三区在线观看 | 国产999在线 | 日本在线观看一区 | 激情欧美日韩一区二区 | 成人久久亚洲 | 国产亚洲日本 | 国产黄色大全 | 狠狠色丁香婷婷综合最新地址 | 韩国精品一区二区三区六区色诱 | 91精品国产高清自在线观看 | 激情网五月婷婷 | 亚洲精品在线资源 | 国产亚州精品视频 | 久久极品| 国产日产精品一区二区三区四区的观看方式 | 干干夜夜| 中文字幕乱码电影 | 欧洲精品在线视频 | 日日夜夜综合网 | 欧美日本在线视频 | 国产日本亚洲高清 | 九九在线高清精品视频 | 中文亚洲欧美日韩 | 日本中文在线观看 | 激情欧美一区二区三区 | 国产最新91| 国产极品尤物在线 | 欧美肥妇free| 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 国产专区一 | 亚洲精品日韩av | 亚洲最大av | 久久久久久久久免费 | 精品国产观看 | 91亚色免费视频 | 就操操久久 | 色综合亚洲精品激情狠狠 | 成人亚洲免费 | 亚洲精品午夜久久久久久久 | 中文字幕电影高清在线观看 | 国产精品免费大片视频 | 天堂网一区二区 | 91久久电影| 中文字幕亚洲综合久久五月天色无吗'' | 99久久99| 97精品国产91久久久久久 | 久久久影院官网 | 爱情影院aqdy鲁丝片二区 | 五月天综合在线 | 超级碰99| 99欧美精品 | 午夜三级大片 | 成人精品一区二区三区中文字幕 | 国产视频黄 | 欧美国产不卡 | 久久免费公开视频 | 日韩欧美一区二区三区免费观看 | 色综合久久88色综合天天 | 91禁在线看 | 午夜美女福利 | 成人免费观看网址 | 九草视频在线观看 | 精品国产免费一区二区三区五区 | 中文字幕色网站 | 国产精品 日韩精品 | 亚洲综合欧美精品电影 | 久久高清国产视频 | 日韩欧美在线观看一区二区 | 国产一区影院 | 超碰人人91 | 欧美一区二区在线刺激视频 | 青春草视频在线播放 | 国产精品视频线看 | 国产在线观看99 | 国内精品久久天天躁人人爽 | 嫩草伊人久久精品少妇av | 99久久99视频只有精品 | 精品在线观看一区二区 | www.午夜视频 | 久久久久久久久久久免费av | 国产精品久久毛片 | 波多野结衣在线视频免费观看 | 五月综合激情网 | 精品亚洲一区二区三区 | 久久精品亚洲一区二区三区观看模式 | 成人av电影在线观看 | 高清av影院 | 日韩av三区 | 国产精品亚洲精品 | 91一区啪爱嗯打偷拍欧美 | 免费日韩视频 | 91中文字幕在线 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 久久久精品国产免费观看同学 | 日本久久精品视频 | 日韩精品一区二区三区丰满 | 天天干天天弄 | 蜜臀久久99精品久久久酒店新书 | 成人免费观看视频大全 | 欧美日韩亚洲国产一区 | 国产免费小视频 | 探花系列在线 | 五月婷婷丁香六月 | 久久躁日日躁aaaaxxxx | 玖玖爱国产在线 | 97超碰国产在线 | 久久精品99精品国产香蕉 | 狠狠搞,com | 欧美日韩久久久 | 亚洲精品视频免费看 | 性色av一区二区三区在线观看 | 亚洲天天做 | 亚洲人人精品 | 色吊丝av中文字幕 | 国产精彩视频一区 | 成人毛片在线观看 | 黄色中文字幕在线 | 伊人色综合久久天天网 | 日日夜夜网 | 久久经典国产视频 | 99久久精品午夜一区二区小说 | 国产黄a三级三级三级三级三级 | 中文字幕高清在线播放 | 国产成人久久精品77777 | 国产小视频在线免费观看视频 | 成人av在线直播 | 国产精品色在线 | 国产精品18久久久久久vr | 亚洲成人999 | 日本中文在线播放 | 狠狠干狠狠久久 | 久久久亚洲电影 | 中文乱码视频在线观看 | 欧美激情片在线观看 | 五月天亚洲激情 | 黄a网站| 一区二区三区 亚洲 | 日韩在线资源 | 九月婷婷人人澡人人添人人爽 | 国内精品在线看 | 成人性生交大片免费观看网站 | 99一级片| 黄网站色成年免费观看 | h视频日本| 久久五月激情 | 99久热在线精品 | 波多野结衣精品在线 | av官网| 久草在线资源免费 | 可以免费看av | 国产精品网红直播 | 久久高清国产 | 九九免费在线观看视频 | 日日爽视频 | 日韩免费视频在线观看 | 天天操天 | 69精品视频在线观看 | 福利视频一区二区 | 人人天天夜夜 | 久久久综合九色合综国产精品 | 免费精品在线观看 | 蜜桃视频日本 | 日韩精品五月天 | 精品国产99国产精品 | 亚洲欧洲一级 | 精品国产aⅴ麻豆 | 中文字幕在线播放一区二区 | 91一区在线观看 | 一区二区丝袜 | 国产成人99av超碰超爽 | 91精品成人 | 天天爽夜夜爽人人爽一区二区 | 蜜桃视频精品 | 91麻豆精品国产自产在线 | 揉bbb玩bbb少妇bbb | 成人午夜在线电影 | 91精品免费视频 | 欧美日韩视频观看 | 五月天激情视频 | 五月天激情在线 | 日韩欧美高清一区二区三区 | 国产中文在线观看 | 蜜桃视频在线观看一区 | 欧美先锋影音 | 欧美日韩高清一区二区 国产亚洲免费看 | 亚洲精品自拍视频在线观看 | 国产精品99在线播放 | 狠狠操在线 | 亚洲在线视频免费观看 | 天天搞天天干天天色 | 精品国产一区二区在线 | 日韩精品偷拍 | 中文字幕永久在线 | 96av视频| 国产高清99 | 免费看一及片 | 三级黄在线 | 婷婷色综合 | 中文字幕制服丝袜av久久 | 香蕉视频免费看 | 成人黄色电影在线观看 | 91视频观看免费 | 爱爱一区 | a天堂一码二码专区 | 国产高清成人av | 麻豆成人网 | 精品国产乱码久久 | 国产黄色视 | 麻豆久久精品 | 中文字幕视频三区 | 美女网站视频免费黄 | 国产在线欧美在线 | 日日爱视频 | 91久草视频 | 91亚洲视频在线观看 | 日韩一区二区三区免费电影 | 久久在线免费视频 | 91最新网址在线观看 | 国产一区在线免费 | 91视频啪 | 亚洲人在线7777777精品 | 免费在线观看国产精品 | 亚洲国产精品电影在线观看 | 97国产精品视频 | 欧美在线久久 | 日本精品一区二区三区在线播放视频 | 日本丶国产丶欧美色综合 | 在线观看视频黄色 | 最近中文字幕高清字幕免费mv | 天天色.com| 国产成人精品电影久久久 | 欧美乱熟臀69xxxxxx | 中文字幕一区二区在线观看 | 五月天激情在线 | 日韩欧美一区二区不卡 | 欧美一级xxxx | 国产精品一区二区精品视频免费看 | 色吊丝在线永久观看最新版本 | 97超碰香蕉| 精品国产一区二区三区四 | 黄色高清视频在线观看 | 日韩在线免费观看视频 | 伊人久久婷婷 | 青青草国产成人99久久 | 国产1区在线 | 综合色中色 | 国产99久久久欧美黑人 | 欧美激情精品一区 | 天天干,天天插 | 亚洲一二三在线 | 国产在线播放一区 | 国产国语在线 | 91黄视频在线观看 | 午夜在线看片 | 午夜在线免费观看视频 | 久久狠狠婷婷 | 日韩精品一区二区三区视频播放 | 亚洲国产成人在线播放 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精在线 | 米奇四色影视 | 国产高清免费视频 | 在线观看亚洲国产精品 | 自拍超碰在线 | 久久精选视频 | 日韩欧美视频免费观看 | 国产黄色一级片在线 | 日韩在线观看中文 | 91九色网站 | 激情综合色图 | 久久久三级视频 | 精品国产免费久久 | 超碰97.com | 男女拍拍免费视频 | 婷婷色站 | 国产三级在线播放 | 日韩精品在线观看av | 国产精品 中文字幕 亚洲 欧美 | 天天操天天干天天摸 | 国产精品久久久久久久久费观看 | 精品国产一区二 | av黄色一级片| 欧美孕妇与黑人孕交 | 午夜国产福利在线观看 | 在线三级av | 免费观看9x视频网站在线观看 | 天天草天天干天天 | 国内三级在线观看 | 九九视频在线观看视频6 | 热久精品 | 日本在线观看中文字幕无线观看 | 视频在线观看一区 | av亚洲产国偷v产偷v自拍小说 | 亚洲 欧美变态 另类 综合 | 99色 | 色综合久久精品 | 天天综合视频在线观看 | 91精品人成在线观看 | 亚洲国内精品在线 | 欧美黄污视频 | 久久 国产一区 | 久久久久久久久久免费 | 亚洲一区二区精品在线 | 国产永久免费高清在线观看视频 | 成 人 黄 色 片 在线播放 | 免费在线播放av电影 | 欧美精品免费在线 | 国产精品久久久久四虎 | 色亚洲激情 | 欧美国产日韩在线观看 | 狠狠干中文字幕 | 最近免费中文字幕大全高清10 | 日韩在线视频一区二区三区 | 九月婷婷综合网 | 97涩涩视频 | 99热在线国产 | 久草精品电影 | 久久久国产精品电影 | 天天鲁天天干天天射 | 97香蕉久久国产在线观看 | 欧美动漫一区二区三区 | 欧美国产精品一区二区 | 最新国产一区二区三区 | 超碰97在线人人 | 国产成人亚洲精品自产在线 | 欧美激情综合五月色丁香小说 | 欧美日韩在线精品一区二区 | 日韩在线免费观看视频 | 91手机视频在线 | 丁香六月婷婷激情 | 在线 视频 一区二区 | 狠狠综合久久 | 久久精品中文字幕一区二区三区 | 日韩极品视频在线观看 | 国产97视频在线 | 久久激情电影 | 干狠狠 | 午夜国产一区二区 | 91九色蝌蚪视频在线 | 国产精品系列在线 | 日日夜夜天天久久 | 99久久精品免费 | 一区二区三区在线免费观看视频 | 亚洲视频在线观看网站 | 国产在线一线 | 亚洲成人黄色网址 | 狠狠亚洲| 天天操天天操天天操 | 精品国产一区在线观看 | 欧美狠狠操 | 亚洲午夜精品一区二区三区电影院 | 99久免费精品视频在线观看 | 999视频在线播放 | 在线免费av播放 | 婷婷激情影院 | 色综合久久中文综合久久牛 | 色婷婷欧美 | 17婷婷久久www| 国产69精品久久久久久久久久 | 亚洲在线精品 | 中文字幕av最新 | 丰满少妇一级 | 久久久国产一区二区三区四区小说 | 日韩视频免费在线观看 | 国产自产高清不卡 | 成人a视频片观看免费 | 少妇bbb搡bbbb搡bbbb′ | 亚洲欧美日韩精品一区二区 | 亚洲狠狠婷婷 | 中文字幕久久精品 | 天天色天天 | 日日夜夜免费精品 | 久久久久久国产精品亚洲78 | 国产日韩亚洲 | 国产成人三级在线观看 | 亚洲理论电影 | 久久综合九色综合久久久精品综合 | 亚洲在线视频观看 | 国产精品久久99综合免费观看尤物 | 黄色网免费| 国产精品一区免费观看 | 在线视频99 | 蜜桃视频色 | 五月婷av| 亚洲激情视频 | 日韩精品欧美一区 | 日日夜夜噜噜噜 | 免费在线观看av网站 | 久久美女精品 | 免费看的av片 | 国产亚洲永久域名 | 久草久草视频 | 久久精品视频在线观看 | 欧美日韩三区二区 | 狠狠色丁香久久综合网 | 在线观看免费版高清版 | 亚洲精品午夜视频 | 91精品伦理| 精品久久久久久久久中文字幕 | www.夜夜操.com | 色综合婷婷久久 | 日韩在线视频一区二区三区 | 免费看黄网站在线 | 中文字幕欧美激情 | av亚洲产国偷v产偷v自拍小说 | 91在线视频在线观看 | 日韩欧美在线免费观看 | 成人久久久电影 | 一区 二区电影免费在线观看 | 久草免费色站 | 国产精品视频全国免费观看 | 精品日韩在线一区 | av不卡中文字幕 | 夜夜操狠狠干 | 国产福利一区在线观看 | 999久久a精品合区久久久 | 久久成人午夜视频 | 天天色天天色 | 丝袜少妇在线 | 久草久草久草久草 | 日韩精品在线一区 | 最新婷婷色| 色婷婷狠狠五月综合天色拍 | 国产精品久久久久久久久久不蜜月 | 国产成人综 | 狠狠干干 | 成人动漫一区二区三区 | 高清不卡毛片 | 在线 高清 中文字幕 | www.久久久久 | 人人爽人人爽人人爽人人爽 | 天天摸天天操天天舔 | av免费观看高清 | 国产精品99久久久久的智能播放 | 中文字幕日韩精品有码视频 | 日韩精品在线播放 | 国产精品欧美 | 国产黄色片免费在线观看 | 亚洲在线视频播放 | 欧美精品久久久久a | 91av资源在线 | 国产亚洲精品久 | 国产精品久久久99 | 又色又爽又黄 | 欧美最猛性xxxx | 国产欧美在线一区二区三区 | 国产精品视频免费观看 | 超碰国产97 | 成人影音av| 欧美日韩免费观看一区二区三区 | 精品xxx | 99综合久久 | 在线免费观看涩涩 | 亚洲第一区在线观看 | 国产精品久久久久影院日本 | 亚洲伦理中文字幕 | 日韩精品一区二区三区中文字幕 | 日韩欧美综合视频 | 在线成人性视频 | 日韩伦理片一区二区三区 | www国产精品com | 精品国产一区二区三区在线观看 | 国产黄色a| 国产97视频在线 | 日韩免费看片 | www.五月天| 日韩高清av| 亚洲欧美国产精品 | 91精选在线观看 | 天天干天天综合 | 精品一区二区在线观看 | 97视频在线观看播放 | 99在线观看免费视频精品观看 | 一区二区三区中文字幕在线 | 国产成人精品一区二区三区在线 | 国产精品久久久久免费观看 | 亚洲精品国 | 97涩涩视频 | 欧美va日韩va | 91香蕉国产在线观看软件 | 麻豆国产精品va在线观看不卡 | 人人爽人人爽人人爽学生一级 | 久草免费新视频 | 久久精品三 | 亚洲成人精品影院 | 97在线播放| 国产黄大片 | 色噜噜日韩精品欧美一区二区 | 黄色av成人在线观看 | 久久国产美女视频 | 成人免费在线观看电影 | 婷五月激情 | 免费在线黄网 | 视频在线一区二区三区 | 日本黄色免费电影网站 | 97超碰国产精品女人人人爽 | 婷婷中文字幕 | 片网址| 中文资源在线播放 | 在线观看免费视频 | 中文字幕在线免费看 | 久久久精选| 久久这里有 | 久久精品国产一区二区 | 97国产精品一区二区 | 色婷婷综合视频在线观看 | 亚洲精品视频中文字幕 | 97精产国品一二三产区在线 | 九九九电影免费看 | 久久视频这里只有精品 | 免费看色网站 | 91亚色免费视频 | 亚洲久草网 | 免费欧美| 99久热在线精品视频观看 | 日韩一区二区在线免费观看 | 激情网在线视频 | 国产黄色在线 | 精品久久久一区二区 | 99热这里只有精品1 av中文字幕日韩 | 亚洲国产精品va在线看黑人 | 天天天插 | 欧美日韩精品影院 | 国产在线观看91 | 久久99九九99精品 | 中文字幕乱码电影 | 亚洲精品欧美专区 | 精品无人国产偷自产在线 | 国产69精品久久app免费版 | 国产在线 一区二区三区 | 精品国产成人av | 亚洲精品天天 | 人人狠狠| 国产亚洲精品久久久久动 | 97电影在线看视频 | 亚洲在线视频观看 | 国产在线资源 | 一级片视频在线 | 综合激情网 | 亚洲国产日韩一区 | 亚洲国产精品500在线观看 | 免费在线观看av网站 | 99成人免费视频 | 久久精品国产精品亚洲 | 久久国产高清 | 日本丶国产丶欧美色综合 | 欧美日韩国产精品一区二区亚洲 | 色婷婷亚洲综合 | 黄色大片中国 | 日日摸日日 | 久久在视频 | 丁香5月婷婷久久 | 精品一区二区免费在线观看 | a爱爱视频 | 亚洲一区欧美精品 | 在线观看国产成人av片 | 一级片免费观看 | 怡红院av久久久久久久 | 日韩高清一二区 | 91激情视频在线观看 | www99精品 | 国产又粗又猛又黄视频 | 日韩在线观看a | 日韩一区二区三免费高清在线观看 | 青青久草在线视频 | 九九免费在线观看视频 | 日韩精品亚洲专区在线观看 | av观看久久久 | 日韩在线精品一区 | av看片网址| 亚洲精品在线观看av | 中文字幕在线视频第一页 | 日韩欧美在线国产 | 日韩欧美成人网 | 日本69hd | 91视频 - 114av | 国产在线不卡精品 | 久久国产精品一国产精品 | 91亚色免费视频 | 精品婷婷| 国产永久免费高清在线观看视频 | 午夜视频在线观看欧美 | 狠狠躁日日躁狂躁夜夜躁 | 狠狠躁夜夜a产精品视频 | 91在线精品观看 | 亚洲成熟女人毛片在线 | 亚洲91精品在线观看 | 久久久久看片 | 久草视频在线资源站 | 亚洲精色 | 久久国产精品视频 | 国产裸体无遮挡 | 国产精品久久久久久妇 | 美女精品在线观看 | 91视频高清完整版 | 99久久国产免费,99久久国产免费大片 | 五月天综合网 | 久久免费国产精品 | 日日夜夜网 | 黄av免费在线观看 | 人人爱在线视频 | 亚洲免费av网站 | 久久免费大片 | 精品国产一区二区三区免费 | 久久久精品久久 | 久草在线高清 | 国产 欧美 日韩 | 99久久综合狠狠综合久久 | 久久成人午夜视频 | 黄色网www| 精品国内自产拍在线观看视频 | 最近能播放的中文字幕 | 日本爱爱免费视频 | 色五婷婷 | 99草视频| 久久九九精品久久 | 久久久久亚洲最大xxxx | 国产视频日本 | 探花视频免费观看高清视频 | 色国产精品一区在线观看 | 国产亚洲欧美精品久久久久久 | 在线免费观看黄 | 久爱精品在线 | 草久热| 欧美日韩国产在线精品 | 久草影视在线 | 亚洲精品乱码白浆高清久久久久久 | 中文字幕精品一区二区精品 | 在线电影 一区 | 一本一道久久a久久精品 | 欧美日韩国产区 | 亚洲一区二区三区精品在线观看 | 久久免费公开视频 | 91日韩在线专区 | 久久免费av | 国产不卡在线播放 | 色视频网站在线 | 欧美大片在线看免费观看 | 97电影院网 | 99久久99精品| 911久久| 99精品免费在线 | 二区三区在线观看 | 亚洲欧美国产精品18p | 超碰人在线 | 国产在线观看a | 另类五月激情 | 黄色av电影免费观看 | www.久久色| 欧美精品免费在线 | 日韩精品在线免费观看 | 在线免费三级 | 色综合天天色综合 | 天天摸天天操天天爽 | 国产精品久久久久久久久久久久午夜片 | 久久黄页 | 在线亚洲天堂网 | 国产精品99久久久久人中文网介绍 | 一区二区三区电影 | 六月色婷 | 国产视频在 | 少妇bbw搡bbbb搡bbbb | 中文字幕精品一区二区三区电影 | 91日韩国产| 美女视频黄,久久 | 亚洲国产精品va在线看黑人动漫 | 国产成人精品一区在线 | 日韩精品2区 | 亚洲天堂网在线视频观看 | 久草在线资源观看 | 香蕉网站在线观看 | 香蕉色综合 | 欧美 亚洲 另类 激情 另类 | 久久手机视频 | 天天操夜夜操夜夜操 | 成人免费观看大片 | 麻花天美星空视频 | 国产精品69久久久久 | 美女久久99 | 国产精品乱码一区二区视频 | 欧美最猛性xxxxx免费 | 在线免费色 | 成人91在线观看 | 国产精品久久99综合免费观看尤物 | 在线观看福利网站 | 国产高清在线观看av | 日本公妇在线观看高清 | 亚洲日本欧美 | 在线精品观看 | 精品免费一区 | 久久久国内精品 | 欧美淫aaa免费观看 日韩激情免费视频 | www.99热精品 | 一区二区三区四区在线免费观看 | 91九色最新 | 国产精品99久久久精品 | 99久久精品国产欧美主题曲 | 免费av看片 | 中文字幕人成不卡一区 | av在线直接看 | 成人毛片在线观看视频 | 国产精品久久二区 | 四虎国产 | 日韩精品免费 | av在线日韩| 国产精久久久久久妇女av | 国产精品igao视频网入口 | 日韩免费福利 | 又爽又黄在线观看 | 国产精品日韩在线播放 | 天天色天天射天天操 | 久久精品五月 | 欧美午夜寂寞影院 | 天天综合色网 | 久久电影网站中文字幕 | 久久精品视频18 | 99免费看片 | 国产91丝袜在线播放动漫 | 色狠狠综合 | 午夜精品一区二区三区在线观看 | 91中文字幕在线 | 久久综合给合久久狠狠色 | 免费高清在线观看成人 | 在线观看你懂的网站 | 久久无码av一区二区三区电影网 | 精品人妖videos欧美人妖 | 二区三区毛片 | 最近中文字幕久久 | 美女网站在线播放 | 国产小视频精品 | 精品久久久久久久久久久久 | 日韩a在线 | 亚洲在线视频免费 | 日韩一区二区在线免费观看 | 91免费观看视频网站 | 综合影视 | 精品国产一区二区三区四 | 国产视频欧美视频 | 天天射综合 | a在线观看国产 | 97碰视频| 日韩特黄一级欧美毛片特黄 | 国产精品午夜久久久久久99热 | 亚洲视频在线播放 | 狠狠狠狠狠狠狠狠干 | 91 中文字幕 | 超碰人人草 | 超碰人人乐| 精品一二区 | 国产一区国产精品 | 日韩色中色 | 五月婷婷六月综合 | aaa日本高清在线播放免费观看 | 婷婷色综合网 | 成人一级影视 | 亚洲久草视频 | 亚洲一区网站 | 久久免费精品一区二区三区 | 在线国产一区 | 丰满少妇高潮在线观看 | 狠狠色香婷婷久久亚洲精品 | 国产成人免费av电影 | 免费在线观看黄 | 久久精品福利 | 一级淫片a| av再线观看 | 成人精品在线 | 久久久午夜精品福利内容 | 夜夜操天天操 | 久久久亚洲国产精品麻豆综合天堂 | 黄色大片入口 | 91精品视频在线观看免费 | 色伊人网 | 干综合网| 中文字幕色在线视频 | 色综合久久88色综合天天免费 | 亚洲狠狠婷婷综合久久久 | 成人免费视频观看 | 日韩精品视频免费 | 欧洲成人av| 久久私人影院 | 婷婷色社区 | 99热高清 | 国产成人免费av电影 | 97香蕉超级碰碰久久免费软件 | 欧美极度另类性三渗透 | 永久免费视频国产 | 亚洲激情在线观看 | 亚洲精品网站 | 日本三级久久 | 婷婷在线观看视频 | 中文字幕网址 | 手机av资源 | 精品国模一区二区三区 | 黄色精品久久久 | 婷婷av色综合| 国产中文在线播放 | 99久久精品免费看国产四区 | 99热99re6国产在线播放 | 黄色免费网站大全 | 丁香婷婷综合激情 | 中文字幕在线观看完整版 | 在线小视频你懂的 | 国产高清免费在线观看 | 婷婷视频在线播放 | 99re中文字幕 | 久久夜色精品国产欧美乱 |