Apache Mina:获取远程客户端连接的本地端口

发布于 2024-11-29 03:49:12 字数 738 浏览 0 评论 0原文

如果我有一个服务器按照下面的配置侦听端口 80 和 8080,那么当我收到消息时,如何识别客户端连接到哪个本地端口?

acceptor = new NioSocketAcceptor();
acceptor.setHandler(new MyConnectionHandler());
Set<SocketAddress> addresses = new HashSet<SocketAddress>();
addresses.add(new InetSocketAddress(host, 80));
addresses.add(new InetSocketAddress(host, 8080));
acceptor.bind(addresses);

处理程序的 messageReceived 我想知道客户端连接到哪个本地端口,而不是客户端的远程端口。

@Override
public void messageReceived(IoSession session, Object message) throws Exception {
    log.info("Incomming: {}", session.getRemoteAddress().toString());

我应该使用哪种方法来访问端口,应该是80还是8080?日志语句将打印如下内容:

    Incomming: /219.182.172.12:37921

If I have a server listening on ports 80 and 8080 as configured below, how would I be able to identify which local port a client connected to when i get a message?

acceptor = new NioSocketAcceptor();
acceptor.setHandler(new MyConnectionHandler());
Set<SocketAddress> addresses = new HashSet<SocketAddress>();
addresses.add(new InetSocketAddress(host, 80));
addresses.add(new InetSocketAddress(host, 8080));
acceptor.bind(addresses);

The handler's messageReceived I want to know which local port the client connected to, not the client's remote port.

@Override
public void messageReceived(IoSession session, Object message) throws Exception {
    log.info("Incomming: {}", session.getRemoteAddress().toString());

Which method should I use to access the port which should be 80 or 8080? The log statement would print something like this:

    Incomming: /219.182.172.12:37921

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文