thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mario Emmenlauer (Jira)" <j...@apache.org>
Subject [jira] [Commented] (THRIFT-5161) Can not combine C++ server with netstd client for binary protocol
Date Tue, 07 Apr 2020 17:08:00 GMT

    [ https://issues.apache.org/jira/browse/THRIFT-5161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17077423#comment-17077423
] 

Mario Emmenlauer commented on THRIFT-5161:
------------------------------------------

So contrary to my issue above, the C++ TestServer can be used with the .NET Standard TestClient
successfully.

> Can not combine C++ server with netstd client for binary protocol
> -----------------------------------------------------------------
>
>                 Key: THRIFT-5161
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5161
>             Project: Thrift
>          Issue Type: Improvement
>          Components: netstd - Library
>    Affects Versions: 0.13.0
>            Reporter: Mario Emmenlauer
>            Priority: Major
>
> I fail to use a netstd client on a C++ server with the binary protocol, plain socket
(no ssl). The connection is established successfully, and I can call a first method, but then
the connection breaks.
> In more detail, this is what I get:
> For a one-way method, I can call send twice, and I receive a successful send on the client
side, but nothing is received on the server. When attempting a third send, I get client exception
> {code}
> ThriftClient::test01(): System.IO.IOException: Unable to read data from the transport
connection: An established connection was aborted by the software in your host machine..
>  ---> System.Net.Sockets.SocketException (10053): An established connection was aborted
by the software in your host machine.
>  --- End of inner exception stack trace ---
>  at Thrift.Transport.Client.TStreamTransport.WriteAsync(Byte[] buffer, Int32 offset,
Int32 length, CancellationToken cancellationToken) in C:\thrift\lib\netstd\Thrift\Transport\Client\TStreamTransport.cs:line
96
>  at Thrift.Transport.TBufferedTransport.FlushAsync(CancellationToken cancellationToken)
in C:\thrift\lib\netstd\Thrift\Transport\Layered\TBufferedTransport.cs:line 168
>  at InternalCppAPI.InternalCppAPI.Client.test01Async(CancellationToken cancellationToken)
in C:\BDAImAcquireWPFGui\CppNetBinding\src\gen-netstd\InternalCppAPI\InternalCppAPI.cs:line
92
>  at InternalCppAPI.ThriftClient.test01(CancellationToken cancellationToken) in C:\BDAImAcquireWPFGui\CppNetBinding\src\ThriftClient.cs:line
129
> {code}
> For a two-way method, I can call send successfully once, and the method gets the correct
server response. On the second attempt, I get client exception
> {code}
> ThriftClient::ping(): System.IO.IOException: Unable to read data from the transport connection:
An established connection was aborted by the software in your host machine..
>  ---> System.Net.Sockets.SocketException (10053): An established connection was aborted
by the software in your host machine.
>  --- End of inner exception stack trace ---
>  at Thrift.Transport.Client.TStreamTransport.ReadAsync(Byte[] buffer, Int32 offset, Int32
length, CancellationToken cancellationToken) in C:\thrift\lib\netstd\Thrift\Transport\Client\TStreamTransport.cs:line
85
>  at Thrift.Transport.TBufferedTransport.ReadAsync(Byte[] buffer, Int32 offset, Int32
length, CancellationToken cancellationToken) in C:\thrift\lib\netstd\Thrift\Transport\Layered\TBufferedTransport.cs:line
115
>  at Thrift.Transport.TTransport.ReadAllAsync(Byte[] buffer, Int32 offset, Int32 length,
CancellationToken cancellationToken) in C:\thrift\lib\netstd\Thrift\Transport\TTransport.cs:line
149
>  at Thrift.Protocol.TBinaryProtocol.ReadI32Async(CancellationToken cancellationToken)
in C:\thrift\lib\netstd\Thrift\Protocol\TBinaryProtocol.cs:line 473
>  at Thrift.Protocol.TBinaryProtocol.ReadMessageBeginAsync(CancellationToken cancellationToken)
in C:\thrift\lib\netstd\Thrift\Protocol\TBinaryProtocol.cs:line 279
>  at InternalCppAPI.InternalCppAPI.Client.pingAsync(Int32 aTestValue, CancellationToken
cancellationToken) in C:\BDAImAcquireWPFGui\CppNetBinding\src\gen-netstd\InternalCppAPI\InternalCppAPI.cs:line
62
>  at InternalCppAPI.ThriftClient.ping(Int32 aTestValue, CancellationToken cancellationToken)
in C:\BDAImAcquireWPFGui\CppNetBinding\src\ThriftClient.cs:line 110
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message