草庐IT

Transmission_Control_Protocol

全部标签

java - SSLHandShakeException 没有合适的协议(protocol)

我最近在我的网站上添加了SSL,可以通过https访问它。现在,当我的Java应用程序尝试向我的网站发出请求并使用缓冲读取器从中读取时,它会生成此堆栈跟踪我没有使用自签名证书,该证书来自Namecheap,他使用COMODOSSL作为CA来签署我的证书。我正在使用Java8javax.net.ssl.SSLHandshakeException:Noappropriateprotocol(protocolisdisabledorciphersuitesareinappropriate)atsun.security.ssl.Handshaker.activate(Handshaker.ja

阿里云OSS跨域报错:Access to XMLHttpRequest at ‘...‘ ... blocked by CORS policy: No ‘Access-Control-Allow

浏览器具体报错内容:AccesstoXMLHttpRequestat'https://xxx.oss-cn-guangzhou.aliyuncs.com/xxx.jpg'fromorigin'http://localhost:8080'hasbeenblockedbyCORSpolicy:No'Access-Control-Allow-Origin'headerispresentontherequestedresource.当我们已经配置了跨域规则,但还是报这个错误,这个时候就要检查一下是不是我们的请求错误在我们请求的这个地方,应该换成我们自己服务器的endpoint

java - 使用 Protocol Buffer 进行二进制日志记录

我们正在考虑将ProtocolBuffers用于二进制日志记录,因为:这就是我们对对象进行编码的方式相对紧凑,读写速度快等。也就是说,我们应该如何去做并不明显,因为API倾向于专注于创建整个对象,因此将DataLogEntry列表包装为DataLogFile中的重复字段将是您在消息传递中所做的术语,但我们真正想要的只是能够写入然后读取整个DataLogEntry,将其附加到文件末尾。我们这样做遇到的第一个问题是这样做(在测试中:FileInputStreamfileIn=newFileInputStream(logFile);CodedInputStreamin=CodedInputS

java - 在 Java 中扩展 Protocol Buffers

我在访问扩展ProtocolBuffer成员时遇到问题。这是场景:MessageFoo{optionalinti=1;}messageBar{extendFoo{optionalintj=10001;}}我的任何其他原型(prototype)中都没有Bar消息。如何在Java中获取Bar.j?我发现的所有示例都需要在消息中使用Bar。谢谢! 最佳答案 ProtocolBuffer中的扩展并不一定像您期望的那样工作,即它们不匹配Java继承机制。针对您的问题,我创建了以下foobar.proto文件:packagetest;messa

java - Java Protocol Buffers 能否在重复字段的列表 getter 上返回 null?

假设您有一个重复字段。messageFoo{optionalint32val=1;}messageBar{repeatedFoofoo=1;}这将生成方法ListgetFooList()有没有getFooList会返回null的情况?或者它是否已经返回一个列表,即使它是空的? 最佳答案 不,不存在返回null的情况。事实上,Javaprotobuf生成的类中的任何字段访问器都不会返回null;如果该字段不存在,它们总是返回默认值。同样,setter不允许您设置null。 关于java-J

java - Protocol Buffer : get byte array from ByteString without copying

假设我有一个方法voidfoo(byte[]bytes)需要一个字节数组作为它的参数。但是,Protobuf中字节数组的Java类型是ByteString。我可以使用byte[]toByteArray()获取字节数组。但问题是这种方法使用copy来构建一个新的数组,代价比较大。我宁愿它直接返回底层数组,或者返回一个View。是否有任何API,或者性能损失是可以接受的? 最佳答案 通常这是不可能的,因为在ByteString的某些子类中可能没有这样的数组。BoundedByteString可以包含更大的数组,因此需要复制才能获得正确大

java - Spring Boot 测试 MalformedURLException : unknown protocol: classpath

如果在SpringBoot应用程序中使用java.net.URL,使用classpath协议(protocol),它会按预期工作,因为SpringBoot注册了URLStreamHandlerFactory。例如新URL("classpath:someFile.whatever")。但当此代码作为JUnit测试执行时,java.net.MalformedURLException:unknownprotocol:classpath异常被抛出。当为JUnit测试初始化​​Spring上下文时,似乎没有注册适当的URLStreamHandlerFactory。重现步骤:1)创建SpringB

java - Protocol Buffer Java RPC 栈

根据this维基百科词条:“ProtocolBuffers与Facebook的Thrift协议(protocol)非常相似,只是它不包含用于定义服务的具体RPC堆栈。自从ProtocolBuffers开源以来,出现了许多RPC堆栈来填补这一空白”但是没有引用RPC栈的例子。谁能建议基于Java的RPC堆栈实现? 最佳答案 如果你想要基于Java的RPC堆栈,它是RMI.但是,它不能很好地跨平台工作。我一直在使用ProtoBuf做RPC。您几乎可以通过将protobuf消息包装在另一个定义服务或调用的protobuf中来模拟RPC堆栈

java - EJB 与 CDI 和 "Entity Boundary Control"模式

我正在努力了解CDI和EJB以及实体边界控制(ECB)模式。我对ECB模式的理解是Boundary是事务边界的起点和终点。此外,CDI不像EJB那样提供事务支持。所以如果我想成功的实现ECB模式,那么以下是正确的;我可以使用EJB(即@stateless、@stateful、@singleton)实现边界部分,并使用CDI或EJB实现控制层。我可以使用CDI实现边界和控制部分,但在类似于(http://smokeandice.blogspot.com/2009/12/cdi-and-declarative-transactions.html)的边界中实现事务支持我无法使用CDI实现边界

java - Protocol Buffer 3 : Enums as keys in a map

枚举不允许用作映射中的键。这里的PaxType是一个枚举,不允许用作键。enumPaxType{ADULT=0;CHILD=1;INFANT=2;}messageFlightData{mapfareType=1;} 最佳答案 这是不允许的,因为它不能很好地与proto3开放枚举语义兼容。例如,在Java中,如果您有一个Map,则键只能是定义的值之一。如果您碰巧从远程客户端/服务器接收到不在定义值集中的枚举键值,则无法将其放入Map中。此限制迫使我们要么删除具有未知枚举键的映射条目(这违反了proto3开放枚举语义),要么禁止枚举作为