[
https://issues.apache.org/jira/browse/THRIFT-3989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15703605#comment-15703605
]
Jens Geyer edited comment on THRIFT-3989 at 11/28/16 11:53 PM:
---------------------------------------------------------------
A TFramedSocketTransport sounds strange, that does not fit into the Thrift
concept. The TFramedTransport implementation is a so-called "layered"
Transport, one which is added (or stacked) to an endpoint transport, e.g.
TSocketTransport.
Due to the modulatr concept of Thrift, the TFramedTransport could be as well
added to some other transport and because of this it must not have a fix
relation to a particular endpoint. Technical Details aside, it should work in
PHP exactly the same way as with C++ or C# or Ruby.
Hence, if your TFramedSocketTransport really does what the name suggests, it
does not follow the modular concept of Thrift that is maintained consistently
throughout all languages.
Interestingly enough, [there is already a TFramedTransport implementation for
PHP|https://git-wip-us.apache.org/repos/asf?p=thrift.git;a=blob;f=lib/php/lib/Thrift/Transport/TFramedTransport.php].
And [the Test Suite implementation shows you how to use
it|https://git-wip-us.apache.org/repos/asf?p=thrift.git;a=blob;f=test/php/TestClient.php;h=2443ee058d0b89d56987da5ee9dbcbc74b8461f5;hb=HEAD#l101]
Does that answer your question?
was (Author: jensg):
A TFramedSocketTransport sounds strange, that does not fit the Thrift concept.
The TFramedTransport implementation is a so-called "layered" Transport, one
which is added (or stacked) to an endpoint transport, e.g. TSocketTransport.
The TFramedTransport could be as well added to some other transport and should
not be realted to a particular endpoint. Hence, if the TFramedSocketTransport
does what the name suggests, it does not follow the modular concept of Thrift
that is maintained consistently throughout all languages. Technical Details
asife, it should work in PHP exactly the same way as with C++ or C# or Ruby.
Interestingly enough, [there is already a TFramedTransport implementation for
PHP|https://git-wip-us.apache.org/repos/asf?p=thrift.git;a=blob;f=lib/php/lib/Thrift/Transport/TFramedTransport.php].
And [the Test Suite implementation shows you how to use
it|https://git-wip-us.apache.org/repos/asf?p=thrift.git;a=blob;f=test/php/TestClient.php;h=2443ee058d0b89d56987da5ee9dbcbc74b8461f5;hb=HEAD#l101]
Does that answer your question?
> PHP socket client unsupports TFramedTransport
> ---------------------------------------------
>
> Key: THRIFT-3989
> URL: https://issues.apache.org/jira/browse/THRIFT-3989
> Project: Thrift
> Issue Type: Bug
> Components: PHP - Library
> Affects Versions: 0.7, 0.9.3, 0.10.0, 0.11.0
> Reporter: Zuocheng Liu
> Labels: patch
> Fix For: 0.7, 0.9.3, 0.10.0, 1.0
>
> Original Estimate: 336h
> Remaining Estimate: 336h
>
> TFramedTransport for socket is unsupported.
> My C++ thrift server use TFramedTransport, While my PHP thrift client can not
> connect it.
> I have written a php class named TFramedScoketTransport to solve this problem.
> May I submit the code to the unreleased versions?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)