[
https://issues.apache.org/jira/browse/THRIFT-5611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17580087#comment-17580087
]
Erik commented on THRIFT-5611:
------------------------------
attaching my client code (Python)
```
{color:#cc7832}import {color}time
{color:#cc7832}from {color}tap_ibkr.core_tws.ibrokers_thrift.gen_py.ibrokers
{color:#cc7832}import {color}ibrokers
{color:#cc7832}from {color}thrift.transport {color:#cc7832}import {color}TSocket
{color:#cc7832}from {color}thrift.transport {color:#cc7832}import
{color}TTransport
{color:#cc7832}from {color}thrift.protocol {color:#cc7832}import
{color}TBinaryProtocol
{color:#cc7832}from
{color}tap_ibkr.core_tws.ibrokers_thrift.gen_py.ibrokers.ttypes
{color:#cc7832}import {color}IBContract{color:#cc7832}, {color}NewsResponse
{color:#cc7832}class {color}TWSAPIThriftClient:
client_connection = {color:#cc7832}None
{color}{color:#cc7832}
{color}{color:#cc7832} def
{color}{color:#ffc66d}connect_to_thrift_server{color}({color:#94558d}self{color}{color:#cc7832},
{color}tws_thrift_host={color:#6a8759}"127.0.0.1"{color}{color:#cc7832},
{color}ib_host_port={color:#6897bb}9090{color}):
{color:#cc7832}if {color}{color:#94558d}self{color}.client_connection
{color:#cc7832}is None{color}:
{color:#808080}# Make socket
{color}{color:#808080} {color}transport =
TSocket.TSocket(tws_thrift_host{color:#cc7832}, {color}ib_host_port)
{color:#808080}# Buffering is critical. Raw sockets are very slow
{color}{color:#808080} {color}transport =
TTransport.TBufferedTransport(transport)
{color:#808080}# Wrap in a protocol
{color}{color:#808080} {color}protocol =
TBinaryProtocol.TBinaryProtocol(transport)
{color:#808080}# Create a ibrokers_client to use the protocol encoder
{color}{color:#808080} {color}client = ibrokers.Client(protocol)
{color:#808080}# Connect!
{color}{color:#808080} {color}transport.open()
{color:#94558d}self{color}.client_connection = client
{color:#cc7832}return {color}{color:#94558d}self{color}.client_connection
{color:#cc7832}if {color}__name__ == {color:#6a8759}"__main__"{color}:
temp_client = TWSAPIThriftClient()
temp_client = temp_client.connect_to_thrift_server()
result =
temp_client.send_request_matching_symbols([{color:#6a8759}'a'{color}{color:#cc7832},
{color}{color:#6a8759}'tsla'{color}])
{color:#8888c6}print{color}()
```
result comes back `None` on client side
> v0.16.0 C++ servers suddenly giving brokenpipe errors
> -----------------------------------------------------
>
> Key: THRIFT-5611
> URL: https://issues.apache.org/jira/browse/THRIFT-5611
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Affects Versions: 0.16.0
> Reporter: Erik
> Priority: Major
>
> I jumped from v0.15.0 to v0.16.0 .. and trying to track down what could cause
> this response in my C++ Server
>
> {code:java}
> Thrift: Mon Aug 15 22:11:54 2022 TSocket::write_partial() send() <Host:
> 127.0.0.1 Port: 58998>: Broken pipe
> Thrift: Mon Aug 15 22:11:54 2022 TConnectedClient died: write() send():
> Broken pipe
> Thrift: Mon Aug 15 22:11:54 2022 TConnectedClient output close failed: Called
> write on non-open socket
> {code}
>
> my server code is unchanged and was previously okay, I think.. I will keep
> debugging and trying to ensure it's not me but.. can anyone clue me in on how
> to repair this ? or what to look for?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)