VC支持协程已经有一段时间了,之前一直想不明白协程的意义在哪里,前几天拉屎的时候突然灵光一闪: 以下是伪代码: task server() { for (;;) { sock_context s = co_await io.accept(); for (;;) { auto buf = co_await io.recv(s); if (!buf.length()) break; std::cout << buf.data() << std::endl; int n = co_awa…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://fighter.blog.51cto.com/1318618/1533957 Socket介绍 什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 在Internet上的主机一般运行了多个服务软件,同时提供几种服务.每种服务都打开一个Sock…
对于同步API而言,程序的吞吐量并不高.因为在每次发送一个gRPC请求时,会阻塞整个线程,必须等待服务端的ack回到客户端才能继续运行或者发送下一个请求,因此异步API是提升程序吞吐量的必要手段. gRPC异步操作依赖于完成队列CompletionQueue 官网教程:https://grpc.io/docs/languages/cpp/async/ 参考博客1:https://www.luozhiyun.com/archives/671 参考博客2:https://blog.miigon.ne…
1.修改server.xml文件,如下: 注意: 这里使用的是https的认证方式,需要将这个配置放开,并做如下修改: <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"  scheme="https" secure="t…
Delphi中WebService包含的组件解释(有7个)     (1) THTTPRIO-------:使用Http消息来调用远程使用SOAP的接口对象     (2) THTTPReqResp---:给服务器发送一个SOAP消息, THTTPReqResp在可调用接口上执行一个方法请求.       (3) TOPToSoapDomConvert ----:TOPToSoapDomConvert处理Soap方法请求的组合与分发     (4) TSoapConnection:TSoapCo…
导读: 好难受啊,为什么服务端说挂就挂,明明只是客户端关闭而已,服务端怎么能挂呢? 想想,如果手机上使用一个聊天程序的时候,手机端关闭了聊天程序,那么远端服务器程序总不能说挂就挂吧!所以一定要查明真相. 1. 跟踪代码查找到进程退出的源头 之前服务端源码:https://www.cnblogs.com/songsongman/p/11187844.html 查阅代码发现,代码主体在while(1)里面,所以最可疑的地方在于accpet,pthread_create, pthread_join和创…
Netty是建立在NIO基础之上,Netty在NIO之上又提供了更高层次的抽象. 在Netty里面,Accept连接可以使用单独的线程池去处理,读写操作又是另外的线程池来处理. Accept连接和读写操作也可以使用同一个线程池来进行处理.而请求处理逻辑既可以使用单独的线程池进行处理,也可以跟放在读写线程一块处理.线程池中的每一个线程都是NIO线程.用户可以根据实际情况进行组装,构造出满足系统需求的并发模型. Netty提供了内置的常用编解码器,包括行编解码器[一行一个请求],前缀长度编解码器[前…
1001: 食物链(poj1182),直接贴代码,稍作可过 并查集 // // main.cpp // 携程1 // // Created by zhang on 14-4-11. // Copyright (c) 2014年 apple. All rights reserved. // #include <iostream> #include <cstring> #include <cstdio> #include <cstdlib> #include &…
import asyncio #携程(携程不是函数) async def print_hello(): while True: print("hello world") await asyncio.sleep(1) #暂停1s async def print_goodbye(): while True: print("goodbye world") await asyncio.sleep(2) #创建携程对象 co1 = print_hello() co2 = pr…
分享 最近在公司成功落地了一个用ASP.NET Core 开发前台的CMS项目,虽然对于表层的开发是兼容MVC5的,但是作为爱好者当然要用尽量多的ASP.NET Core新功能了. 背景 在项目开发的过程中,为了满足需求,还是有许多功能要自己"发明",也就是已有技术的组(qi)合ji)运(yin)用(qiao).本例先讲讲如果用中间件开发所有CMS都需要的服务端静态缓存方法. CMS系统的一大痛点是一个页面要查询的内容很多,所以常常为了减轻服务器压力,都会使用到各种缓存技术.比如静态文…