protocol

【原创】什么是 wire protocol

≡放荡痞女 提交于 2020-04-09 20:00:52
究竟 wire protocol 是指什么?下面这段话可以比较清楚的解释(原本来自 这里 )。 In a network, a wire protocol is the mechanism for transmitting data from point a to point b. The term is a bit confusing, because it sounds like layer 1 of the network, which physically places the bits "onto the wire." In some cases, it may refer to layer 1; however, it generally refers to higher layers, including Ethernet and ATM (layer 2) and even higher layer distributed object protocols such as SOAP, CORBA or RMI. See OSI model, communications protocol, data link protocol and distributed objects. 上面这段话可以简要归结为以下几点: 是一种传输数据的机制;

Google Protocol Buffer 的各语言实现版本

十年热恋 提交于 2020-01-07 07:15:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Google Protocol Buffer 专门用来串行化和反串行化对象,但官方仅实现了C++、Python、Java三种语言。其他语言版本也相继由不同的作者来实现。虽然有一定缺陷,也足以在大部分的项目中使用了。 .proto 的基本写法: package feeds; message Feed { optional string title = 1; message Entry { optional string title = 1; } repeated Entry entry = 2; } Python、C++、Java三种语言版本请见 https://developers.google.com/protocol-buffers/docs/reference/overview 代码生成: <?php require_once('../parser/pb_parser.php'); $test = new PBParser(); $test->parse('./feeds.proto'); ?> 串行化: <?php require_once('message/pb_message.php'); require_once('pb_proto_test.php'); $feed = new Feed();

oc NSDate、类的扩展 、代理(家庭-保姆)

自作多情 提交于 2019-12-04 16:48:48
⼀、 NSDate 1、⺴络请求中的时间戳 计算当前时间距离 1970年1⽉1⽇ 的 秒 数 2、关于时区 24 个时区 北京 东八区 NSDate 输出的永远是 0 时区的时间 英国 格林尼治时间 GMT Greenwich Mean Time 3、NSDate使用 // 创建日期:表示当前的时间 NSDate * nowDate = [ NSDate date ]; // 创建日期:以当前时间为参考点,创建表示昨天这个时间的日期对象 double oneDay = 24 * 3600 ; NSDate * yesterday = [ NSDate dateWithTimeIntervalSinceNow :-oneDay]; NSDate * since2001 = [ NSDate dateWithTimeIntervalSinceReferenceDate : 0 ]; NSDate * since1970 = [ NSDate dateWithTimeIntervalSince1970 : 0 ]; NSDate * sinceAnyDay = [ NSDate dateWithTimeInterval :oneDay sinceDate :since2001]; // NSTimeInterval 是 double 类型 NSTimeInterval interval

Some Notes of Protocol Buffer C++

非 Y 不嫁゛ 提交于 2019-12-04 15:16:02
Some Notes of Protocol Buffer C++ Operating System: Ubuntu 14.04 Language: C++ 1. Refer to the official guided documentations for the Installation of Protocol Buffer: Overview: https://developers.google.com/protocol-buffers/docs/overview Downloads: https://developers.google.com/protocol-buffers/docs/downloads Protocol Buffer for C++: https://developers.google.com/protocol-buffers/docs/cpptutorial * It is worth noting that read the README.md file before installing Protocol Buffer. 2. If e rror appears after using the "make" command as follows, follow the steps given below. Error Information:

[译]2013-10-25 NSObject: the Class and the Protocol

◇◆丶佛笑我妖孽 提交于 2019-12-03 13:22:56
原文链接: https://mikeash.com/pyblog/friday-qa-2013-10-25-nsobject-the-class-and-the-protocol.html Reader Tomas Bouda asks: what's the deal with the NSObject protocol? There are two NSObjects in Cocoa, a class and a protocol. Why both? What purpose do they serve? In today's article, I'll explore the answer to this question. 读者Tomas Bouda问我:“NSObject协议应该怎么理解呢?在Cocoa中有两处NSObject,一处是NSObject类,另一处是NSObject协议。为啥会有两个呢?他们到底有什么作用?”。在今天的文章里,我将会探讨这个问题。 Namespaces 命名空间 First, let's look at how these two entities with the same name can coexist. Classes and protocols in Objective-C inhabit entirely separate

Protocol Buffers在windwos下生成对应语言类文件

不羁岁月 提交于 2019-12-03 11:15:43
1:windows下开发,下载源码包和windows下的编译器 https://developers.google.com/protocol-buffers/docs/downloads 下载 Protocol Buffers 2.6.1 full source和 Protocol Compiler 2.6.1 binary for windows 2:解压源码包和windows下编译器包,我的路径:F:\protobuf-2.6.1 和 F:\protoc-2.6.1-win32 3:把编译器包下解压出来的protoc.exe文件拷贝到C:\Windows\System32目录下,同时拷贝一份到F:\protobuf-2.6.1\src目录下 4:CMD下,protoc --version,显示:libprotoc 2.6.1 5:F:\protobuf-2.6.1\examples目录下addressbook.proto文件 6:CMD到F:\protobuf-2.6.1,执行: protoc --proto_path=examples --java_out=examples/javacode examples/addressbook.proto 然后可以看到F:\protobuf-2.6.1\examples\javacode目录下java源文件已经生成,带java

Swift专题讲解二十一——协议

回眸只為那壹抹淺笑 提交于 2019-11-30 20:48:05
Swift专题讲解二十一——协议 一、引言 协议约定了一些属性与方法,其作用类似Java中的抽象类,Swift中类型通过遵守协议来实现一些约定的属性和方法。Swift中的协议使用protocol关键字来声明。Swift中的协议还有一个十分有意思的特性,协议可以通过扩展来实现一些方法和附加功能。 二、在协议中定义属性和方法 协议中定义的属性只约定名称和类型,在具体类型的实现中,其可以是存储属性也可以是计算属性,协议中还需要指定属性是可读的还是可读可写的。示例代码如下: protocol MyPortocol { //定义实例属性 //可读的 var name:String{get} //可读可写的 var age:Int{set get} //可读的 var nameAndAge:String{get} static var className:String{get} } class MyClass: MyPortocol { var name: String var age: Int var nameAndAge: String{ get{ return "\(name)"+"\(age)" } } static var className: String{ get{ return "MyClass" } } init(){ name = "HS" age = 24 } }