
网络通信
Aresiii
十几年项目管理和研发经验,热爱技术,精通C++、Golang、Java、Python等语言
莫待春风才启航,早从秋水铸基石。
展开
-
阻塞与非阻塞、同步与异步的理解
1、使用场景 1)阻塞与非阻塞的使用场景:I/O、多线程。 2)同步与异步的使用场景:通信,多线程。 2、具体理解 在实际网络编程的环境中,一般是指线程的同步和异步与IO的阻塞与非阻塞, 与系统底层的同步通信与异步通信无关, 多线程的阻塞即多线程的同步,多线程的非阻塞即多线程的异步。3、网络编程IO模型理解 UNIX网络编程中,将原创 2017-03-10 17:59:35 · 637 阅读 · 0 评论 -
在linux上使用c++实现http/2协议进行通信
采用nghttp2是一个http/2协议的翻译器。采用openssl进行TLS通信,实现加密和安全。采用socket与目标server建立tcp连接,实现底层数据通信。 nghttp2 是一个很优秀的 HTTP/2 的 C 类实现。它的前身是 SPDY 库 spdylay,作者都是 Tatsuhiro Tsujikawa.地址:https://github.com原创 2016-08-13 16:45:32 · 6290 阅读 · 1 评论 -
使用 OpenSSL API 进行安全编程
OpenSSL API 的文档有些含糊不清。因为还没有多少关于 OpenSSL 使用的教程,所以对初学者来说,在 应用程序中使用它可能会有一些困难。那么怎样才能使用 OpenSSL 实现一个基本的安全连接呢? 本教程将帮助您解决这个问题。学习如何实现 OpenSSL 的困难部分在于其文档的不完全。不完全的 API 文档通常会妨碍开发人员 使用该 API,而这通常意味着它注定要失败。但 Op转载 2016-08-17 17:39:46 · 1006 阅读 · 0 评论 -
SSL握手通信详解及linux下c/c++ SSL Socket代码举例
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。 安全证书既包含了用于加密数据的密钥,又包含了用于证实身份的数字签名。安全证书采用公钥加密技术。公钥加密是指使用一对非对称的密钥进行加密或解密。每一对密钥由转载 2016-01-12 18:07:29 · 2779 阅读 · 0 评论 -
boost::asio中异步请求的实现要点
boost::asio的sokect绑定到boost::asio::io_service中,一旦boost::asio::io_service开启,SOKECT没有投递任何异步请求,boost::asio::io_service将自动关闭。原创 2014-11-01 16:07:04 · 1089 阅读 · 0 评论 -
三层网络通信框架架构思想
利用分层概念,架构网络三层网络架构思想第一层 网络基础层第二层 事件响应层第三层 对外接口层原创 2014-11-01 16:37:25 · 1861 阅读 · 0 评论 -
UDP防火墙穿透技术
假设两个客户端C1 C2C1,C2通过第三方知道对方IP和端口C1原创 2014-05-29 17:23:36 · 2238 阅读 · 0 评论 -
穿透Socks5 代理的UDP编程
<br /> 网络编程中,对于数据传输实时性要求较高的场合,大家都会选择UDP来作为数据传输协议,在TCP/IP协议族中UDP协议较TCP协议需要的网络系统资源更少。然而在企业应用中,由于网络安全原因等会导致除了特定端口以外的IP数据无法通过专用的路由或网关。为了支持这类应用,制定了专门的支持Socks连接的socks4/socsk5协议。Socks协议允许实现此类功能的代理软件可以允许防火墙(本文以下内容中防火墙与代理的称谓可以等同视之)以内的客户通过防火墙实现对外部的访问,甚至可以允许等待外部的连接。对转载 2010-07-24 14:45:00 · 815 阅读 · 0 评论