ss-libev 源码解析udp篇 (4)

2017年6月26日 没有评论

本篇分析remote_recv_cb,这是整个udp转发的反方向,即读取从后端发送过来的数据再发送给前端。对于ss-server,读取到的数据是目标地址的udp服务器发送回来的响应数据,ss-server需要将其包装成ss的格式并加密发送给ss-local;对于ss-local接收到的数据就是ss-server发送过来的加密数据,ss-local解密后需要再将其包装成socks5的格式发送给socks5客户端,至此整个udp转发过程完成。
下面具体分析:
- 首先是接收数据

struct sockaddr_storage src_addr;
    socklen_t src_addr_len = sizeof(struct sockaddr_storage);
     阅读全文...
分类: 互联网 标签:

Hello Kotlin(四)变量和属性

2017年6月27日 没有评论

相关文章:
Hello Kotlin(一)初次见面
Hello Kotlin(二)环境搭建
Hello Kotlin(三)类和函数

转载请注明出处:

在 Kotlin 中,一切都是对象。没有 Java 中那样原始的基本数据类型。

本篇是 Kotlin 学习笔记的第四篇:变量和属性

1、基本类型

在 Kotlin 中,比如 integer、float或者 boolean 等类型依然存在,但是它们全都是作为对象存在的。并且它们的名字和功能都与 Java 非常相似,但是也会有一些不同:

  • 简洁的数字类型不能赋值给复杂的类型,比如,不可以给 Double 类型的变量分配一个 Int。可以这样进行类型转换: 阅读全文…
分类: 移动开发 标签:

swift 协议的使用方法和场景

2017年6月27日 没有评论

协议是swift一个重要的部分,类似于Java中的接口,但是还不是很一样。相比较OC,swift中协议更加灵活,它可以应用在很多场景,使整个项目的框架结构更加易于延展。

一、什么场景下使用协议

协议与类类似,可以被继承,当继承某个协议之后就要给协议所定义的属性赋值并且实现协议中的方法。

既然协议与类这么类似,那我们为什么不全部用类来实现,为什么还要用到协议?
举个简单的例子,有一只猫和狗,他们都属于宠物,用类去实现就要这样操作,定义一个父类叫做宠物,里面有喂食和玩耍两个方法,猫和狗都继承与宠物这个父类。这样操作自然可以实现,但是要知道,猫和狗不都是宠物,这里把宠物定义成父类就不是很合适,这里应该把宠物定义成协议就相对合适很多啦

二、协议的使用方法

1、协议定义

// 协议定义通过关键字protocol 阅读全文...
分类: 移动开发 标签:

Kotlin学习之-5.4 可见性描述符

2017年6月28日 没有评论

Kotlin学习之-5.4 可见性描述符

类,对象,接口,构造函数,函数,属性以及他们的setter可以用可见性描述符来修改其可见性。getter方法的可见性通常和属性的可见性一致。Kotlin中有4中可见性描述符:private, protected, internalpublic。如果没有显示写描述符,那么默认可见性是public 的。

下面是各种不同定义范围的解释。

函数,属性和类,对象和接口可以在顶级声明,例如,直接在包中声明

//file name: example.kt
package 阅读全文...
分类: 移动开发 标签:

基于大量数据的Excel文件生成方案

2017年6月28日 没有评论

基于大量数据的Excel生成方案

以往我们在基于POI生成Excel文件时,都是利用官方提供的HSSF或XSSF对应的系列API,它们操作简便,上手比较快。但是对于大数据量的Excel文件生成往往会比较耗时,这是我们利用标准的API进行开发的一个痛点。对于性能更高一点的API,POI官方会建议我们使用SXSSF系列API,虽然它的性能比起HSSF和XSSF会有很大的提高,但是面对大量数据的时候还是会比较慢,为此官方还给我们提供了一种基于XML的方案。

其实对于一个Excel文件来说,最核心的是它的数据。Excel文件中的数据和样式文件是分开存储的,它们都对应于它自己体系中的一个XML文件。有兴趣的朋友可以把Excel文件的后缀名改成“.zip”,然后用压缩文件把它解压缩,可以看到它里面的结构是由一堆的XML文件组成的。如果我们把解压缩后的文件再压缩成一个压缩文件,并把它的后缀名改为Excel文件对应的后缀名“ 阅读全文…

分类: 软件架构 标签: