求助:局域内网架设的 netty 服务端只能接受一个长连接 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
gramyang
V2EX    Java

求助:局域内网架设的 netty 服务端只能接受一个长连接

  •  
  •   gramyang Aug 28, 2019 3758 views
    This topic created in 2434 days ago, the information mentioned may be changed or developed.
    今天才出现的情况,之前都没有出现过。。。
    操作系统是 win10,用 android 作为连接前端,真机和虚拟机都有。

    我猜测这是 win10 或者 android 上的哪个地方限制了,求大佬支招。。。。

    netty 服务端的代码非常简单,虽然我认为肯定不是这里的问题,但是我也放出来了:
    @PostConstruct
    public void startServer() {
    for(int i = 1; i <= 300; i++) playerMap.put(i, new Player());
    for(int j = 1; j <= 100; j++) tableMap.put(j, new Table());
    ServerBootstrap b = new ServerBootstrap();
    b.group(boss, work)
    .channel(NioServerSocketChannel.class)
    .option(ChannelOption.SO_BACKLOG, 128)
    .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 10 * 1000)
    .childOption(ChannelOption.TCP_NODELAY, true)
    .childHandler(this)
    .bind(6789)
    .addListener(new ChannelFutureListener() {
    @Override
    public void operationComplete(ChannelFuture future) throws Exception {
    future.removeListener(this);
    if(!future.isSuccess() && future.cause() != null) log.error("服务器绑定端口失败", future.cause());
    if(future.isSuccess()) log.info("服务器绑定端口成功");
    }
    });
    }
    Supplement 1    Aug 28, 2019
    wdnmd 我搞定了卧槽!!!!!!

    简单来说,win10 最近一次更新自动卸载了 SMB 1.0/CIFS 客户端,而这个客户端是华为手机使用的通讯方式。。。。

    这算不算微软故意打压华为??!!
    Supplement 2    Aug 28, 219
    见鬼了,重启之后又不行了。。。。。

    给 win10 跪了。。。。看来得弄个云服务搭建 linux 作为测试环境了。。
    Supplement 3    Aug 28, 2019
    最后给防火墙的入站规则放行了服务端口,总算能行了。。
    14 replies    2019-08-30 10:31:04 +08:00
    Malthael
        1
    Malthael  
       Aug 28, 2019
    是不是第一个长连接断掉之后就再也连不上了
    gramyang
        2
    gramyang  
    OP
       Aug 28, 2019
    @Malthael 不是,是 netty 服务只能连接一个长连接,后面的全部连接不上了。连上的长连接是有效的。把服务关掉后也是这样的,重启系统后也是这样的
    gramyang
        3
    gramyang  
    OP
       Aug 28, 2019
    @Malthael 纠正:是电脑上开的虚拟机可以连上,但是真机测试连不上。。
    Malthael
        4
    Malthael  
       Aug 28, 2019
    贴出来看看你的 childHandler 里是怎么添加 ChannelHandler 的
    gramyang
        5
    gramyang  
    OP
       Aug 28, 2019
    @Malthael 跟那个没关系,这几天测试都是好好的,而且这些代码都没改过。不过我还是放出来吧
    ChannelPipeline pipeline = ch.pipeline();
    ByteBuf delimiter = Unpooled.copiedBuffer(Constant.LINE_SEPARATOR.getBytes());
    pipeline.addLast(new DelimiterBasedFrameDecoder(10240,delimiter));
    pipeline.addLast(new IdleStateHandler(60,0, 0));
    pipeline.addLast(new StringDecoder(Charset.forName("UTF-8")));
    pipeline.addLast(new StringEncoder(Charset.forName("UTF-8")));
    pipeline.addLast(handleGroup, new NettyServerHandler(playerMap, tableMap, userName2Player));
    handler 里面传入的是多个用户交互的数据结构
    Malthael
        6
    Malthael  
       Aug 28, 2019
    如果只有真机有问题,虚拟机没问题的话查查真机的配置,网络环境,是不是在同一个局域网
    PDX
        7
    PDX  
       Aug 28, 2019 via iPhone
    你的 child handler 是单例,而且不是 shareble 的
    gramyang
        8
    gramyang  
    OP
       Aug 28, 2019
    @Malthael 连的同一个 wifi,应该算是在同一个局域网吧
    lx0758
        9
    lx0758  
       Aug 28, 2019
    我这边一个 Android 做服务器,能接受多个客户端长连接额
    BingoXuan
        10
    BingoXuan  
       Aug 28, 2019
    看问题不要先入为主。先去找资料,整理论据,提出自己的看法。捕风捉影都是徒劳。还是前辈说得好,不要听的风就是雨。最近 v 站总是会因为一个很简单的问题,最终却演变成无意义的争吵。大多都是情感先于理性。

    https://www.ithome.com.tw/news/115072
    Thiece
        11
    Thiece  
       Aug 28, 2019
    SMB 1.0 多老了,华为自己作
    sujin190
        12
    sujin190  
       Aug 28, 2019
    难道不是华为问题?都多老了,而且一堆漏洞把,早该搞掉了,现在好多 client 都要求 2.0 了
    love4taylor
        13
    love4taylor  
    PRO
       Aug 28, 2019
    故意打压... 被害妄想症?
    dosmlp
        14
    dosmlp  
       Aug 30, 2019
    smb1.0 都多老的协议了,漏洞满天飞
    About     Help     Advertise     Blog     API     FAQ     Solana     991 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 60ms UTC 19:27 PVG 03:27 LAX 12:27 JFK 15:27
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86