java - Netty:绑定(bind)不匹配

标签 java abstract-class netty nio

我是 java 新手,正在尝试使用 Netty 构建示例 tcp 服务器。这是我目前拥有的

package http_server;

import java.net.InetSocketAddress;
import java.nio.channels.SocketChannel;

import netty_tutorial.EchoServerHandler;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelInboundHandlerAdapter;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.ServerSocketChannel;
import io.netty.channel.socket.nio.NioServerSocketChannel;


class server
{
      ServerBootstrap bootstrap;
      int port;

      server(int port_)
      {
          port = port_;

          bootstrap = new ServerBootstrap();

          bootstrap.group(new NioEventLoopGroup());
          bootstrap.channel(NioServerSocketChannel.class);
          bootstrap.localAddress(new InetSocketAddress(port));

          /**
           * Add handlers using anonymous class
          */

          /****PROBLEMATIC LINE*****/
          bootstrap.childHandler(new ChannelInitializer<SocketChannel>()
          {


            @Override
            protected void initChannel(SocketChannel ch) throws Exception {
                // TODO Auto-generated method stub
                System.out.println("hello");
            }

          }
          ); 


      }
}

public class simple_server
{

    public static void main(String args[])
    {
        server server_obj = new server(8080);
    }

}

我计划在 initChannel 方法中添加我的处理程序,但不知何故我无法编译当前程序。当我尝试编译这个示例程序时,我收到以下错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    Bound mismatch: The type SocketChannel is not a valid substitute for the bounded parameter <C extends Channel> of the type ChannelInitializer<C>

    at http_server.server.<init>
    at http_server.simple_server.main

知道到底出了什么问题吗?

最佳答案

您从错误的包中导入了 SocketChannel。

替换import java.nio.channels.SocketChannel;

导入io.netty.channel.socket.SocketChannel;

关于java - Netty:绑定(bind)不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28186245/

相关文章:

java - 使用netty动态传输数据

java - Netty 和非标准 TCP 连接

java - 为什么一个线程会中断另一个线程

java - 我想将整数,字符串,对象, double ,位图,HashMap从一个 Activity 发送到android中的另一个 Activity

java - 如何在java中获取屏幕DPI?

c# - 有没有办法强制派生类实现抽象类或嵌套在基类中的接口(interface)?

java - 在运行时为 Spring Boot 应用程序配置基本包扫描

C# 从多个抽象类派生类

.net - 存储库模式和抽象类的问题

asynchronous - 使用 jetty 还是净值?