@zonghaishang  的答案:
> @xcorpio telnet调用,代码可以开一个tcp长连接,按照dubbo提供的调用命令,直接写socket数据和读取就可以了
> 
> 如果你熟悉dubbo框架代码,请阅读:org.apache.dubbo.rpc.protocol.dubbo.telnet.InvokeTelnetHandler
> 
> 如果不熟悉,请使用sudo tcpdump -i any -A dst port 20880 抓包看返回数据

我有个疑问,telent 好像判断了是否是clientside

```java
private static boolean isClientSide(Channel channel) {
        InetSocketAddress address = channel.getRemoteAddress();  //1
        URL url = channel.getUrl();
        return url.getPort() == address.getPort() &&
                NetUtils.filterLocalHost(url.getIp())
                        
.equals(NetUtils.filterLocalHost(address.getAddress().getHostAddress())); //2
    }

```
在 1 这个点channel.getRemoteAddress(); 是获取调用方的地址吧。
在 2 的时候会判断调用方ip 跟本机是否一致





[ Full content available at: 
https://github.com/apache/incubator-dubbo/issues/3161 ]
This message was relayed via gitbox.apache.org for 
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to