From c9c317d6c8012ee28b43dcacfb4f856a6873f15a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BF=9C=E6=96=B9=E5=A4=95=E9=98=B3?= Date: Wed, 2 Jun 2021 21:29:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9C=8D=E5=8A=A1=E7=AB=AFsd?= =?UTF-8?q?k=E4=B8=80=E5=A4=84=E5=8F=AF=E8=83=BD=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E7=A9=BA=E6=8C=87=E9=92=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cim-boot-server/cim-boot-server.iml | 2 + cim-boot-server/cim-boot-server.ipr | 22 ++ cim-boot-server/cim-boot-server.iws | 236 +----------------- .../libs/cim-server-sdk-netty-4.0.0.jar | Bin 79159 -> 79151 bytes .../cim/component/handler/ClosedHandler.java | 4 + .../cim/sdk/server/group/SessionGroup.java | 6 +- 6 files changed, 37 insertions(+), 233 deletions(-) diff --git a/cim-boot-server/cim-boot-server.iml b/cim-boot-server/cim-boot-server.iml index 08af5f8..6d0ab4a 100644 --- a/cim-boot-server/cim-boot-server.iml +++ b/cim-boot-server/cim-boot-server.iml @@ -143,6 +143,8 @@ + + diff --git a/cim-boot-server/cim-boot-server.ipr b/cim-boot-server/cim-boot-server.ipr index ba48396..07d4d24 100644 --- a/cim-boot-server/cim-boot-server.ipr +++ b/cim-boot-server/cim-boot-server.ipr @@ -483,6 +483,28 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/cim-boot-server/cim-boot-server.iws b/cim-boot-server/cim-boot-server.iws index 35bf051..6c69322 100644 --- a/cim-boot-server/cim-boot-server.iws +++ b/cim-boot-server/cim-boot-server.iws @@ -8,229 +8,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - @@ -375,6 +146,9 @@ + + + diff --git a/cim-boot-server/libs/cim-server-sdk-netty-4.0.0.jar b/cim-boot-server/libs/cim-server-sdk-netty-4.0.0.jar index 772e0bbd1825c9a03bc1dce0ac59712cb0e246d7..5ccdbd3f337ac3d49fb095d3665e46ed58bc4cb2 100644 GIT binary patch delta 13338 zcmZ|01y~$Q6E4i+9^Bm_xI4k!U4s)`gOd#;Xpq1Hi@OsbXn+90A;I0<-Ghg_keu(F z-24CgJj={hz4dlgcTG=EPw{0Jwqh3+O-&I778&aCLs;4#i$;S+P};6x_UatU2_kwQ zE2<7;;>502IP-2u`=EiXsG-?v9t{`%ov;|WCETjm2f5qV+P52nl(Er-afU*X`5bi> zjU~#v!Mg$KU*<>3rzZaVfrT6`oE_Qz{}Jea5Y}dHAT$6b41@th31E3TsslKlj==!_ zr(+28i>G5NfEDyW2>+jm9<2b-;{Vf{%E5!~p^=|{Bg06*K|wttS^>f+h>vF)&gCM@ zOrR_#72tyou{6#vIwWTOI=nGF$LGPbrl2fi<}!_J2KbMi7{hApWo1sDh2JHr`exE= zCh(61{9#3E7|Y5oUM_X%9(&vH!HJ+@^nIUM5OP1d-~5$vcYO)kf+{zqj;8egv`RvE z>xwsp}+s{L(5 z%QEGKtwoW;9iEQL-SdIX#E3dWw*h5VYh{o#(o`x{lI>h&7ix#nE+YR9Pl(=REq}*J z&;jt+yjp!_u|&OiOeJSIMJ8b2*rCD6xjXL~)nL%I9$ZG;GGyy>f8i)+Lg##w&!vy$ z?ww8vVwx^LbfJ7RJm8{v2}3I~?x+aADceuf(Zz~O5F%*$K&+Auq&TQD?$K2<4+HO) zScDbGw%}iC55!*Aseb{kFM5Cr`ag2meFr-F(!Km_WvS{FF_@3GmLdK<*{i>CZ%*ZP z_=gmGM!g9a7<-}+j+~XIyvY-^j^j6YtRal11ak@A$+)0X=UpDkx^rpYgrKzVIqbOc zJoBApDh4gb^&=El1=ZinUJv2Ax2SWcpsh&2x~Rh++!V#-`=8+_2to$n<@^ExJ#yul@Z zzp(72xh-Ij@V=6m9&M>ZO>M-qeYACBwLFB$Zqzr`tfo|9^rK8j_jgRek1G=R2?H(? zI=Lo%X(cUlbf{A%x0ZHy5eIrWKX9jj*r+4%4s9(gejlc6i8yF9cLMyJ@>!$oq!3?45F;FwEJ-rXJ7W1=4*Rl@z*u7O3yvok(m8c(oZa70hvZ9BUpFq$Mf zZW=*Un@g)0xnlY1<0qkj@*P4>Wtv#;*Wk!cKUg`9drse7ZP~6bfCoq<(BK4>fo4<1 z`=r%7KJ%D2OlI?0?OC4_H>>-)1c>50f?=e0?nbmkGsUEsnnN%fS%yZ82jJn?J*b%! zhJ2b7r%vEBkmO}D$jee}2EpswQ{lOp}0J~eEfkW0qEYMk9?Vf16XBZ?}9!dyS0 zZOB*B2ldCG1s6jarBow5J$z#jPRUo@j?*bRXpWdf+q)>fYJC#VIC=KZO!j*o*(ItY z-^7H1!sdX25(Bl-P=GKvX@E%nS`!Tq!0$9(oDG4NQszOXZ=onrIyQ;&LO#Bi;|0Bt z3S>`ipn(B3xNf2cGO@B8*0GkM%qo{^>>(>a*_O@XjgRI`8XS~V9Esc}{%rnPb}@0< zaWkUoTO>_Uh(0 zoV%G|34acroY=$YWT_F$oLMr=jXzj`bNqbSEmU_JXf$S;r^#oZQ@WiY>bhs4LV zTw<%?bKGmiEukG~GL2dZ#r6AOWR}<2QKAWw`07#1hIG&Ea1DU0?c)ta8APxf$beT` z+ve)S3iLc18eFyf#o9N#^v0_>p1UsD>4NDs3O5r}reF~3>rtX$R(CUOw1f) zlJO=Xe3;1M8{e}9I7Do8fQGO>li@)S0N}0O1<|t_4r5m@&T3M?I_JgU zTD~$ih_Mx|qqIy6_x2$TnflT&BV>wV+A)cWO4BX~^o6DrtFdjp8D`bWb^SzNHMBV1s?r8ec&NaLoF~T&uiR3} zubQI7F~yhzpMPPr8?pa=izek8K~9&qTD?6SMwFA^>~igF{4!PRx#94?|LRch8?Gbj z;pll&2Rx<#p%eCbJn*`|$%(r_h%To!rRRuWP*J!NHa%M{f2MEg2G9R$Vs`|?P^zG=3uB2KuGbVGV>L=g z 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 a5B~)MlR=!hf&35*9w0Ho3v%d41O7k%nzdg5 diff --git a/cim-boot-server/src/main/java/com/farsunset/cim/component/handler/ClosedHandler.java b/cim-boot-server/src/main/java/com/farsunset/cim/component/handler/ClosedHandler.java index 8485b64..9886409 100644 --- a/cim-boot-server/src/main/java/com/farsunset/cim/component/handler/ClosedHandler.java +++ b/cim-boot-server/src/main/java/com/farsunset/cim/component/handler/ClosedHandler.java @@ -50,6 +50,10 @@ public class ClosedHandler implements CIMRequestHandler { String uid = channel.attr(ChannelAttr.UID).get(); + if (uid == null){ + return; + } + String nid = channel.attr(ChannelAttr.ID).get(); sessionGroup.remove(channel); diff --git a/cim-server-sdk/src/main/java/com/farsunset/cim/sdk/server/group/SessionGroup.java b/cim-server-sdk/src/main/java/com/farsunset/cim/sdk/server/group/SessionGroup.java index 418631f..71ee845 100644 --- a/cim-server-sdk/src/main/java/com/farsunset/cim/sdk/server/group/SessionGroup.java +++ b/cim-server-sdk/src/main/java/com/farsunset/cim/sdk/server/group/SessionGroup.java @@ -20,9 +20,7 @@ public class SessionGroup extends ConcurrentHashMap> @Override public void operationComplete(ChannelFuture future){ future.removeListener(this); - remove(future.channel()); - } }; @@ -34,6 +32,10 @@ public class SessionGroup extends ConcurrentHashMap> String uid = getKey(channel); + if(uid == null){ + return; + } + Collection collections = getOrDefault(uid,EMPTY_LIST); collections.remove(channel);