emqx / emqx-extension-examples

Examples for ExHook & ExProto
46 stars 21 forks source link

exproto-svr-java:HTTP/2 client preface string missing or corrupt #15

Open huwei14 opened 3 years ago

huwei14 commented 3 years ago

请问用网络调试助手连接测试,是连接TestGrpcServer里配置的端口吗?

我连接127.0.0.1:9001成功后,发送任何数据都报“HTTP/2 client preface string missing or corrupt. Hex dump for received bytes: ”错误

jengy commented 3 years ago

7993端口

fizzshehzad commented 2 years ago

Hello, I am trying to use emqx-exproto but not able to setup demo locally. Facing same error If I connect directly. 1- I have setup demo locally and it is running. 2- EMQX is also running on local using docker and plugin emqx-exproto also loaded. 3- In ConnectionHandler I am using this as HOST String HOST = "localhost:9100"; 4- my gRPC server running on PORT 5001 5- I have updated emqx-exporto.conf also exproto.listener.protoname.connection_handler_url = http://host.docker.internal:5001 also tried with exproto.listener.protoname.connection_handler_url = http://127.0.0.1:5001 6- Now when I try to connect to emqx using Jmeter it is connected but no callback in exproto-svr-java demo running application. On Publish also nothing happens.

If I try to connect directly to gRPC server using localhost:5001 facing this error io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2Exception: HTTP/2 client preface string missing or corrupt. Hex dump for received bytes: 102000064d514973647003c2003c000661646d696e330002

It will be helpful if you can guide how can I test this exproto-svr-java complete flow.

Also If possible please share which tool I can use to test flow.

WangScaler commented 2 years ago

Hello, I am trying to use emqx-exproto but not able to setup demo locally. Facing same error If I connect directly. 1- I have setup demo locally and it is running. 2- EMQX is also running on local using docker and plugin emqx-exproto also loaded. 3- In ConnectionHandler I am using this as HOST String HOST = "localhost:9100"; 4- my gRPC server running on PORT 5001 5- I have updated emqx-exporto.conf also exproto.listener.protoname.connection_handler_url = http://host.docker.internal:5001 also tried with exproto.listener.protoname.connection_handler_url = http://127.0.0.1:5001 6- Now when I try to connect to emqx using Jmeter it is connected but no callback in exproto-svr-java demo running application. On Publish also nothing happens.

If I try to connect directly to gRPC server using localhost:5001 facing this error io.grpc.netty.shaded.io.netty.handler.codec.http2.Http2Exception: HTTP/2 client preface string missing or corrupt. Hex dump for received bytes: 102000064d514973647003c2003c000661646d696e330002

It will be helpful if you can guide how can I test this exproto-svr-java complete flow.

Also If possible please share which tool I can use to test flow.

When you use TCP to connect to EMQ. You must use port 7993. 9001 is the channel for interaction between EMQ and TCP through grpc.