From da7356f01652f58f14d271bef63344548a1e6701 Mon Sep 17 00:00:00 2001 From: TianMaiCheng <746290578@qq.com> Date: Fri, 13 Mar 2026 11:32:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96Redis=20=E6=8E=A5=E6=94=B6?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CRICS_V3_1124.sln | 12 ++++ CRICS_V3_1124.suo | Bin 12780544 -> 12780544 bytes Common/CSRedisCacheHelper.cs | 6 +- CommonEntity/LMRegisterInfo.cs | 44 ++++++++++++++ ConsoleApplication2/Program.cs | 3 + .../ConsoleApplication4.csproj | 57 ++++++++++++++++++ ConsoleApplication4/Program.cs | 50 +++++++++++++++ .../Properties/AssemblyInfo.cs | 36 +++++++++++ .../bin/Debug/ConsoleApplication4.exe | Bin 0 -> 5632 bytes .../bin/Debug/ConsoleApplication4.pdb | Bin 0 -> 15872 bytes .../bin/Debug/ConsoleApplication4.vshost.exe | Bin 0 -> 11600 bytes .../ConsoleApplication4.vshost.exe.manifest | 11 ++++ ...leApplication4.csproj.FileListAbsolute.txt | 4 ++ .../obj/x86/Debug/ConsoleApplication4.exe | Bin 0 -> 5632 bytes .../obj/x86/Debug/ConsoleApplication4.pdb | Bin 0 -> 15872 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 5938 bytes RCUHost/Implement/HostRegisterReceiver.cs | 18 ++++++ RCUHost/Implement/HostServer.cs | 30 ++++----- 18 files changed, 254 insertions(+), 17 deletions(-) create mode 100644 ConsoleApplication4/ConsoleApplication4.csproj create mode 100644 ConsoleApplication4/Program.cs create mode 100644 ConsoleApplication4/Properties/AssemblyInfo.cs create mode 100644 ConsoleApplication4/bin/Debug/ConsoleApplication4.exe create mode 100644 ConsoleApplication4/bin/Debug/ConsoleApplication4.pdb create mode 100644 ConsoleApplication4/bin/Debug/ConsoleApplication4.vshost.exe create mode 100644 ConsoleApplication4/bin/Debug/ConsoleApplication4.vshost.exe.manifest create mode 100644 ConsoleApplication4/obj/x86/Debug/ConsoleApplication4.csproj.FileListAbsolute.txt create mode 100644 ConsoleApplication4/obj/x86/Debug/ConsoleApplication4.exe create mode 100644 ConsoleApplication4/obj/x86/Debug/ConsoleApplication4.pdb create mode 100644 ConsoleApplication4/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache diff --git a/CRICS_V3_1124.sln b/CRICS_V3_1124.sln index 049da82..79b4e51 100644 --- a/CRICS_V3_1124.sln +++ b/CRICS_V3_1124.sln @@ -31,6 +31,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testwebservice", "testwebse EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MvcApplication1", "MvcApplication1\MvcApplication1.csproj", "{733CA292-F36D-4DC7-8268-3337C5D1B540}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApplication4", "ConsoleApplication4\ConsoleApplication4.csproj", "{85BC55B1-083D-4AE9-8DE8-3DE59B654990}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -191,6 +193,16 @@ Global {733CA292-F36D-4DC7-8268-3337C5D1B540}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {733CA292-F36D-4DC7-8268-3337C5D1B540}.Release|Mixed Platforms.Build.0 = Release|Any CPU {733CA292-F36D-4DC7-8268-3337C5D1B540}.Release|x86.ActiveCfg = Release|Any CPU + {85BC55B1-083D-4AE9-8DE8-3DE59B654990}.Debug|Any CPU.ActiveCfg = Debug|x86 + {85BC55B1-083D-4AE9-8DE8-3DE59B654990}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {85BC55B1-083D-4AE9-8DE8-3DE59B654990}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {85BC55B1-083D-4AE9-8DE8-3DE59B654990}.Debug|x86.ActiveCfg = Debug|x86 + {85BC55B1-083D-4AE9-8DE8-3DE59B654990}.Debug|x86.Build.0 = Debug|x86 + {85BC55B1-083D-4AE9-8DE8-3DE59B654990}.Release|Any CPU.ActiveCfg = Release|x86 + {85BC55B1-083D-4AE9-8DE8-3DE59B654990}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {85BC55B1-083D-4AE9-8DE8-3DE59B654990}.Release|Mixed Platforms.Build.0 = Release|x86 + {85BC55B1-083D-4AE9-8DE8-3DE59B654990}.Release|x86.ActiveCfg = Release|x86 + {85BC55B1-083D-4AE9-8DE8-3DE59B654990}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/CRICS_V3_1124.suo b/CRICS_V3_1124.suo index 5dd1836a541578b5c166037e165e1fe1d45cbe64..1a784d9a11f13d752510e94c9f09c60194a462be 100644 GIT binary patch delta 28448 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"__data", Value)); } - catch (Exception) + catch (Exception ex) { - + logger.Error("队列添加出异常了:"+ex.Message); } } public static void StreamConsume(int SliceNo, string key, string group = "UDPData", string consumer = "Crics1") diff --git a/CommonEntity/LMRegisterInfo.cs b/CommonEntity/LMRegisterInfo.cs index 5d0212f..0ce822e 100644 --- a/CommonEntity/LMRegisterInfo.cs +++ b/CommonEntity/LMRegisterInfo.cs @@ -23,4 +23,48 @@ namespace CommonEntity //public string Gateway { get; set; } //public string DNS { get; set; } } + public class RegisterInfo + { + public long hotel_id { get; set; } + public string room_id { get; set; } + public string device_id { get; set; } + + + /// + /// 1:下发,0:上报 默认0 + /// + public ushort is_send { get; set; } + public byte[] udp_raw { get; set; } + public string extra { get; set; } + + public int ip_type { get; set; } + /// + /// 机型编号 + /// + public string model_num { get; set; } + public string server_ip { get; set; } + public string ip { get; set; } + public string subnet_mask { get; set; } + public string gateway { get; set; } + public string dns { get; set; } + public string version { get; set; } + public string rcu_time { get; set; } + public string launcher_version { get; set; } + public string mac { get; set; } + public string room_type_id { get; set; } + public string config_version { get; set; } + public string room_status { get; set; } + public string season { get; set; } + public string sys_lock_status { get; set; } + public string authorization_time { get; set; } + public string authorization_days { get; set; } + public string room_num_remark { get; set; } + public string room_type_remark { get; set; } + public string room_remark { get; set; } + + public string mcu_name { get; set; } + public string central_control_name { get; set; } + public string configure_hotel_name { get; set; } + public string configure_room_type_name { get; set; } + } } diff --git a/ConsoleApplication2/Program.cs b/ConsoleApplication2/Program.cs index aa30911..3fdfb6a 100644 --- a/ConsoleApplication2/Program.cs +++ b/ConsoleApplication2/Program.cs @@ -299,6 +299,9 @@ namespace ConsoleApplication2 } } } + + + static void Main(string[] args) { byte[] ss111= Base64Url.Decode("qlUuAFQzU0E01oL4CIZhAQIABgAgAAAAAAAA/wICBwEAAAIbKgcCAAACGyp4Ig=="); diff --git a/ConsoleApplication4/ConsoleApplication4.csproj b/ConsoleApplication4/ConsoleApplication4.csproj new file mode 100644 index 0000000..728f8ce --- /dev/null +++ b/ConsoleApplication4/ConsoleApplication4.csproj @@ -0,0 +1,57 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {85BC55B1-083D-4AE9-8DE8-3DE59B654990} + Exe + Properties + ConsoleApplication4 + ConsoleApplication4 + v4.0 + Client + 512 + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ConsoleApplication4/Program.cs b/ConsoleApplication4/Program.cs new file mode 100644 index 0000000..eca8855 --- /dev/null +++ b/ConsoleApplication4/Program.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Net.Sockets; +using System.Net; + +namespace ConsoleApplication4 +{ + internal class UdpState + { + private UdpClient udpClient; + public UdpState(UdpClient client) + { + this.udpClient = client; + } + public UdpClient UdpClient + { + get { return this.udpClient; } + } + } + class Program + { + static void Main(string[] args) + { + var udpClient = new UdpClient(3340); + udpClient.Client.ReceiveBufferSize = 3 * 1024 * 1024; + udpClient.BeginReceive(ReceiveCallback, new UdpState(udpClient)); + Console.ReadLine(); + } + + public static void ReceiveCallback(IAsyncResult ar) + { + UdpState state = ar.AsyncState as UdpState; + // 1. 结束异步接收,获取数据和远程端点 + IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); + byte[] receivedData = state.UdpClient.EndReceive(ar, ref remoteEndPoint); + + state.UdpClient.BeginReceive(ReceiveCallback, state); + try + { + Console.WriteLine(11111111111111); + } + catch (Exception) + { + + } + } + } +} diff --git a/ConsoleApplication4/Properties/AssemblyInfo.cs b/ConsoleApplication4/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..8f4d222 --- /dev/null +++ b/ConsoleApplication4/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的常规信息通过以下 +// 特性集控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("ConsoleApplication4")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ConsoleApplication4")] +[assembly: AssemblyCopyright("Copyright © 2026")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 使此程序集中的类型 +// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, +// 则将该类型上的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("3ac386f6-d433-4860-9b22-ee7e0dc298d4")] + +// 程序集的版本信息由下面四个值组成: +// +// 主版本 +// 次版本 +// 内部版本号 +// 修订号 +// +// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, +// 方法是按如下所示使用“*”: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ConsoleApplication4/bin/Debug/ConsoleApplication4.exe b/ConsoleApplication4/bin/Debug/ConsoleApplication4.exe new file mode 100644 index 0000000000000000000000000000000000000000..b58d4e92c8389225c9016ba771c53bfd348b6707 GIT binary patch literal 5632 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 literal 0 HcmV?d00001 diff --git a/ConsoleApplication4/bin/Debug/ConsoleApplication4.vshost.exe b/ConsoleApplication4/bin/Debug/ConsoleApplication4.vshost.exe new file mode 100644 index 0000000000000000000000000000000000000000..bb84a51ac4f20534146c09f2fd9c928d15a903b2 GIT binary patch literal 11600 zcmeG?2~<)?tG75|5OPOMcC{DsnWb(K|p-9Gz zCYX{WA(Jm;dIfQqiJ};SrLL}G(n&hl8zFy;j>apOj_;bS1<^27Oc^0Hz(7W(Czb%1 z@VUW90w!d%4!)s8@lWO`4L-o%@Fz33`3PxI|9bMyD%lrO3DBh`b_0^65V}%-gn|b^ zWm*RtcF<41tL^XP%x>1H-pWw-?KO@iBWB8={z?S^v{7pXzI!Jo%+8WXB|Jbhzz%$;+6FHiiU_~N3I z3EN^9UtHuj{7z%|8vGH<%)(m1Ea7^jMXH#Y>ya2$DiaMPF|c+I&NvSYVbqF9*~#r#ILj8dWjm251tb7C6J%*T7omHQ z|3QZ`M<(G55b{zd>0OBcT-q z$5D_+!Bh&aq+kUFn<&Vjy~Gre83lc5nD5M>aGT=)?fZgOM>nV`Kqv zI0bDf=!~2J||60WgZ0+&DGHhBHk2136`;HfS!lVrq~L;Qp?LLw4#2#K5zlOj)1BCy1d77#r{JpDO<77O@Xp{xhn!4xZ$h!p@= zFfDSIN{Pg1K}r~3)_Zst+KZ6#Bz!U1wTDViV=OmGAajRFq+hp^({qI>UpIiLVv=~h zxay+kDH5kh_;K;yXzG;G*Tj7I0^&~_{e-b1Ng|izo-6pOSGO>vq9h3^M-Ep;2n2i? z;VA;Ob9u6_h6EBx&>#pUI*0gkg>gyTxL$JaT8kGU;HGf+ao-Tzcp`=5x@Rq2jC5KA zDL81CbnCa%R49SU_|be|v6omoM|<(PaYE7-c~ay>L?^|?aX&MN4jh;n*m;M|z$BDt zLV?wpRH>I1yLLe*EkY6~5>Aj35>FW2!};IZ6RZg`l4U+2WpPr3Jg{aVFJ1yBKdala z!{Q|bH-_8;-f}`H`;N<(`ErFZ0s_H?nELq^^AiFst^h{IAPxchk}HJW2r40D)L?1| zN5+-NKyKu|BH5O9=>_$oO%{WM1RNkt$|LX>+U#yGW4SL{W#Dq<^-?pWTs_=s z+sMi))7<${{lWc@(;pS&e4xt(nf|K_4fiC?yA3+_%vvY*l!4@4iv}=BM|c$3*(8Ejv=a+B_=Ss*JEQXuIqpixQ3a_4(W> zyEKm#xtQrM)b=Fwn2Ghv>;fV#EMt&fQn_Nx)Omd`sf+@qw7IY%8d=~wU}z94&^xT# z?O1hMy$gBFV<=2Rx4X%UFBOAX2ZDn_3e*V(5c0klQtL7p%59=S80yz;986D8eMaINL%0wc8G%|*e$MEHmK74Q% z!Aa2qJ`Z*(ODar2$dFuS7_I+z60R6Fg7-`wLHR_mTT!wUQ^u&61Y`_zfv7uESG-PI zL=b$z5K9F^02Rvd;_$Xby>8#V-GB3vXN;}hekVw2b}%EC!sUQGG$K1h+L_tfM2e!P zOCtHUjw8EKEOAUULMMT4SGq-(nO(Kd^R74+p{XEA@0kR39#JP2L9k*3WE=-K98<(} zqe}k)-;w}E#jg-2r+wZ^?F0lS_7$G&N8TMKx*>Foia|&WS+)ZhjyMosg(Ghi3MD_V zlt8Ha0ra7)2BA8})Ao*tk&JOg@{U+nBp*Xj>4k4odB9b z6pKVuFB2+W3WHWIV5QK`MKb6of?7waV3?3D4|tM6FFxSozD0@ZgTuNz{_IdRDFbAO z)M2bA&`X3r0!GVV7PvbAj0da~>bA%RB0vJogpW-A5a@S}5mS7nfE2jYc(OeJxZnXV z z&=#?g6V$=wK;MbkDI7SI!WeQ^CS`v~K!cP!6Ls~m0g03HCzBh+@8@%Usja`( zRUhEh9p)q@kq8zn0BMtae6H~x8XbD4CjSrk|1SY%$D7f!QUCv!`kxhkEdlC{lSV^$ z#(*)3eJrzmv)`&?O0<%U0XU$nXc)#;#rr5K4A-F31}PvsUQuPZBF4Zn9B3G$Bm$p^ z+xEg};-+*Al`u;U)AZq(Ape5E<&Z}jc}SDTg)8}o8}*{e(B;nwSKrv~9H~AQdwjF4 zytOrcZE;D4HXF}iOv5wi{v~u8Mx&{)%KP37{uH^cp}uRh0dOQ{563MO=@S^LIzzi} z*-Ueu1(WUMCW9mBJY@F8S7T}Q7cHV+lSJGOh0EM6pm>nUzHKpl6$ z9c>`lvT>V;0qSfUsM-S(QUsnti42G+>d+=|*gAM$lA^MX%6D98JY3pjA|YD~*C3Hf zI!d8LOrl5_)5VyI&Yv)5j2m?@HmHX&^2W*}Z{k3e8SLqfXJA8d^=>_4m;$0_V49#^ zOof(#VW>J~&gG~|Z>JyZwzIFlH?{XmuKzHk_$TifPtW_@znJ%9f`4fAtJSn01FrfB ztW8{r!)J`EReh`HB{h53l@(|NA2%KTqU3jV<00qWP1>SYpB?DEdD*xjtD7pVhyFNj zM5^doKSSp{CoQMuI*V7a&Lc3JPwm5ex9k;QIcq=E?BUJJcpq7ko;81Q#f$yRH=cFe z5b>h8C`l0N{0;jDkyEj#=T`F^;m(Gk`yGp8_z3auXm&^k}+WEW& zt7|si1E186D{>Cz=$(lTNh#Zrb28j@eMWGuP+_y>1}xWTU-akX<*7w!&MZO!KM`yl<0Iky_CdajPx~l`pPt| z$>+pR`I2Jekh!{h0v3O2*dY1m?JYwS9YKpmkIwCT-t`Ud(QP+eljKnc!#*(-a5`kT z0g2FH^k?Wc8k~_M@#J04uOACs6XM0%=*4@6tCG!{3|R?3Oanu+%XiKlXZGUE z!9ZE*#9=baq{{4%<^IcOqJRgdAL`xYAJ-^NeM$2?aXP2*9jEc=`nqt@GoIHrFZ877 z5D5;-{if^h*b5Dr3*JQX3MwLMovuvFn~*ig_O zk_@%dsf#MDsyA$ID8J6!cNiZypQ)>Ec`)>qd&?C3ZlO6p=ZN^1ms`uvq8sKAQ zfscvq^f6rQtSjXuHGA(P1@JTf#$8Q194GKG4mLJ+xQ!F(aM-wQcNI_1{9o}n>XhMt zUu6UY1&4MyDEgl`sDJ5u>hJ|0yd^(y5{efDA>;Z(7Y$r?PjYj7DP5Xj_FIuQ;#||u z&=`HjptkOe`hci{cqM?Z7vhf99GoD>l0v+ePeXBU3qPaY&~t<=wFG+B6+ z#7wd_Toon!sa($~gE+SJV0lvRz}B3Vx@ML0%;cLcIyzbFJj7-Qx%H5C{?KB zV)bs>V(P#!&?I*~Y-FW0>YOq#X6WJl)4sj!y~u4pgyDia<4z?GCHC32@iLisl(jWa zB48zUKl$@SiPqu-K8dx4=Na<-T59ddf#ZY)DBQQpJ7O4PG(HMRG=3gh!hRVYf4>Vg|mrXkTWVH8ZMCy}ER7;eB(l^wQ%yM`u5I9&Q(rmhn*QiiF;(9r&nOJ#V&GkQz7Xqj0TK z^O@lhdg@LU(>`AR#3-X}yxO*SV{P4$>0!?7srRge4bKBC^T#* z8ujN(wwQ*TObBqI$!owPV^5*ifid&vi=Rmq1C#e1#Vx2JfMM)~-!tV!vGuFB3ApEfFq{p}!dMD5Lx^n8<%5`h3 zY-+WGLQiHscD23c$1XJAw=||@NN`ro(edZ!DZG1{bZF5}KU~_$7st*V7JGkR_0#zW znx2$>)ZU~zX{d$uS+{H9jKT7~i7|=e!frG_zjb(h=1*z2=lRndmcOnqRt`6eAKP@T zULI*ZXP+sfDtz*Eecq?E)X`5aF-!xTl4VL!MXRyOUndaGYI)>Z zu(EiD##GB7z36E+#TPOIhYyX6_g-|%I!h~f&-=ZD@&!*!zt?%!pmk-w#;XjubmWN@ zvq~GMDLzuD$hNJ1w|sJzd)CDH%Y_v~tb7|qYdu@0-=Al;IHAMeWMJmtnN7asag_gW zL_1oFeLAlk{V+0wLA}Bq(fzv%BYsbNImS0lGAXnxP6jvn0VS z#1pxH9tnLFM)iuE;l!sL)bfD7?4zl{wS5Y+0p(P_1#@O>=Il@ACm``x-gY^mDc=9xt-l|Et>xj!WIP z1-I_UI^@3^TC}#YA~`H%)Mbg+9^*IQpvu5O6?TP3ipxh(;ZdJ2UDH1o9)0Bq$neM! zq9J>5O*U-GN0Gr1RM}(|Pp|wZ!lPlhDV(|55w>#zR?u zTwZiW!KDt92M?pa%c}05oj>hRl!evkvztGzim*2b>R<18)sQ>JWn^WzZolLe&RT7# zV%aZI4&}pYc~-u<=@ae>TDJ{fk)NwEcO%-IY@)QvQcT}(X|iO^t>dLb#~=2eq?jBg z@vLx-X0QbUz#${W|Dpclw{v_*5rdhcl@VV|HTHR zycK$~{f}QRhRQV}l%a z_&OAc+Zt`Rn&<6T-6zvAudYnGW7+4IMM1Y$jagZ3r=8xa)ogIHCgyBlu(SWdj{}=c zcU~&WX&ry;*JtnD2Si~HzssE?pY^M#J%_n{+1k7{ho=rI>4%%Nl+NWYHL$Sw(QnBp z&&&l+Ze7Z34zjX${@vXjD?@6kFE0BHKI4%;yW-`D{3we%hw|qw?I*9A_Ca@8nMj-G zVLoxxLgz(p_o|OK7JjGi6P{4eP#6%dfKI=|-Mj;D56rE5t@W&V&~0MpNl^k?eUsD@or(o=%<5Y<=i#wO)^B40xI9 zd0bOvYv8?G`+?W!9>`$BRsYAMOGaLJDR*7+mp%W0d-Wor22q<`$)Gg7 zKl^2B1Kb=sBlyp*1HDZPo{$(B7^<@0ds1VI&%VctZnxQM6_;AD?KkZ_-IB+AQuFR- z*T@4KKV+yLG;cjqr21gk0kg5c?SFGQ1q0uRBF8snjVnaH&pIK9b_#y4rru^YJE+h7&5x zs9AY=_}k`&Dd{i6GvD}@ZFQneOa0+~>&jEiPnP;qT3sG&zv|har+8omHf8dz22H=; z|G3?jRGN1{Sif4WDVp0bTj*@RtN(Vr;u|t(L+}jR;2s?)vNLFEfKvX)jqS?= z5R9$oSXSzMt1XGb^?I14vsJq*N*EYgw<#&GH6ftVGuOHLi0kD!oT# zDkga({4jf8)|P2o8}DIStxW-pd_APHW6y?rQ=9OU`%I(z6l^RuzPlq2jlZ((H}0Xz zol`F;9lGF}@iatK!0=jeLS@HJSJ!c7;z64O-#&Dg&#>pd-(SCc=u5RdrFLto)@OT1 zr0ohy+M*GwvZH-+f&1KvF_Z3; + + + + + + + + + + diff --git a/ConsoleApplication4/obj/x86/Debug/ConsoleApplication4.csproj.FileListAbsolute.txt b/ConsoleApplication4/obj/x86/Debug/ConsoleApplication4.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..9f50ac6 --- /dev/null +++ b/ConsoleApplication4/obj/x86/Debug/ConsoleApplication4.csproj.FileListAbsolute.txt @@ -0,0 +1,4 @@ +E:\tian\chongxin\NewGit\CRICS\CRICS_Web_Server_VS2010_Prod\ConsoleApplication4\bin\Debug\ConsoleApplication4.exe +E:\tian\chongxin\NewGit\CRICS\CRICS_Web_Server_VS2010_Prod\ConsoleApplication4\bin\Debug\ConsoleApplication4.pdb +E:\tian\chongxin\NewGit\CRICS\CRICS_Web_Server_VS2010_Prod\ConsoleApplication4\obj\x86\Debug\ConsoleApplication4.exe +E:\tian\chongxin\NewGit\CRICS\CRICS_Web_Server_VS2010_Prod\ConsoleApplication4\obj\x86\Debug\ConsoleApplication4.pdb diff --git a/ConsoleApplication4/obj/x86/Debug/ConsoleApplication4.exe b/ConsoleApplication4/obj/x86/Debug/ConsoleApplication4.exe new file mode 100644 index 0000000000000000000000000000000000000000..b58d4e92c8389225c9016ba771c53bfd348b6707 GIT binary patch literal 5632 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 literal 0 HcmV?d00001 diff --git a/ConsoleApplication4/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/ConsoleApplication4/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..4a522a02bf58de9adaa71fd7a295bc45bcb0b032 GIT binary patch literal 5938 zcmeHLTTdHD6t=-^FoZUyDM_G7HdWe&$XeL}!bReN*pQ+o2-y}%#3Ef6BOW}KkH>TS&N*{A-%KnXi^cxIM8A}7520}1a!2~g zuWDNNCt0Hb(kd{yDH?%RQ`q?d z^E|%^?wV3iuXwHXBMpMIQWMxZ=Zh+@ZEz2!941`uG7a69RH|mGf#+>VR)?l954u$) zR>8Wv=jt|m&qaG5QDKS68tAB7F{mieTR4b%%4@=xkcTQmS8NKUQNL5|+50+$ zcGG+O@*y66R(`gZ>7kuUUr;m8B{kgp8P!P~%F= z)@gkb?a)9To5p@;Z9g;U)P<_IzTgKSpIly?=c?hc76D%D*jZOI?T*{hcR(p$uA#DA zqY1deI$gjm1VZyVbh=y|sqGYH3>m|Q5sM9>jK|~jMfvAQv86QBaf#s^Ihq!Y^%?|7 z?pSZo10S=yyH_;9RlUQ!0Ja&IA74aGi&}C~OPh7&_|oH*(|t1kzqiTaB3p14US^l) z<{`7RyqCU8j~l9LKm4%QTesfu;o|YZ679z-igr^!2EXBJs>d6Mm_l+G#aJ>y*%1VQ)e6HP?2ou$e2iW%(Uc%0-ZeAj><&7ny9P zjM2rlktQhLgSAEj$qJ)DFmL;nU+tr%mv$a1K@FwCpk2a9Qvhsw7_o=~R6&Bk2xU3U z*@xs;WZ>5*X3s0%B}<_Zh)U6Rwd068*!(dyHzQ-sd9z(VQxYT6zx=*1Ifh;W!h=1=b`2NDnh7#w-?n=rOadAUAKb>J*XX(3Q_I!+Jkg h7bs|o2r{KxCP_l3H2l}#%=xc}+rgO=J;v>g{|nVIy6*r0 literal 0 HcmV?d00001 diff --git a/RCUHost/Implement/HostRegisterReceiver.cs b/RCUHost/Implement/HostRegisterReceiver.cs index 9af0f20..7d8c166 100644 --- a/RCUHost/Implement/HostRegisterReceiver.cs +++ b/RCUHost/Implement/HostRegisterReceiver.cs @@ -261,6 +261,24 @@ namespace RCUHost.Implement hostRCU.RoomTypeRemark = roomtype_remark; hostRCU.UpdateTime = DateTime.Now; + RegisterInfo rsg = new RegisterInfo() + { + hotel_id=hotel_code, + room_id=host.RoomNumber, + device_id = HostNumberOnly, + is_send=0, + udp_raw=context.Data, + ip_type=ipType, + model_num = type_number, + server_ip=server_ip, + ip=lan_ip+":"+lan_port, + subnet_mask=subnet_mask, + gateway=gateway, + dns=dns, + version = software_version, + + }; + HostRepository.SetModelAndLauncher(host, hostRCU.ConfigVersion, software_version, lan_ip, lan_port, model, launcher_version, hostRCU.ExpireTime, hostRCU.SetExpireTime); HostRCURepository.SaveOrUpdate(hostRCU); diff --git a/RCUHost/Implement/HostServer.cs b/RCUHost/Implement/HostServer.cs index f1c0d3e..3e0879d 100644 --- a/RCUHost/Implement/HostServer.cs +++ b/RCUHost/Implement/HostServer.cs @@ -123,7 +123,7 @@ namespace RCUHost.Implement try { var redis = CSRedisCacheHelper.redis1; - var data = redis.XReadGroup(group, consumer, 1000, 10, new ValueTuple(UDPAllDataKey, ">")); + var data = redis.XReadGroup(group, consumer, 500, 10, new ValueTuple(UDPAllDataKey, ">")); if (data != null) { @@ -147,7 +147,7 @@ namespace RCUHost.Implement } catch (Exception ex) { - logger.Error("消息队列失败:"+ex.Message); + logger.Error("消息队列失败:" + ex.Message); } } @@ -169,7 +169,7 @@ namespace RCUHost.Implement try { udpClient = new UdpClient(3339); - udpClient.Client.ReceiveBufferSize = 5 * 1024 * 1024; + udpClient.Client.ReceiveBufferSize = 3 * 1024 * 1024; uint IOC_IN = 0x80000000; uint IOC_VENDOR = 0x18000000; uint SIO_UDP_CONNRESET = IOC_IN | IOC_VENDOR | 12; @@ -459,6 +459,8 @@ namespace RCUHost.Implement { IPEndPoint remoteEP111 = new IPEndPoint(IPAddress.Any, 0); byte[] receiveBuffer111 = state.UdpClient.EndReceive(ar, ref remoteEP111); + state.UdpClient.BeginReceive(ReceiveCallback, state); + if (receiveBuffer111.Length > 0) { @@ -719,17 +721,17 @@ namespace RCUHost.Implement } finally { - try - { - if (this.udpClient != null) - { - state.UdpClient.BeginReceive(ReceiveCallback, new UdpState(this.udpClient)); - } - } - catch - { + //try + //{ + // if (this.udpClient != null) + // { + // state.UdpClient.BeginReceive(ReceiveCallback, new UdpState(this.udpClient)); + // } + //} + //catch + //{ - } + //} } } @@ -1628,7 +1630,7 @@ namespace RCUHost.Implement #region 故意让UDP丢掉的数据包总数 //insertcard 保留 //if (cmdType != 0x0E||cmdType!=0x01) - if (cmdType != 0E || cmdType != 0x03) + if (cmdType != 0E && cmdType != 0x03) { if (DataTongJi.DefineLostPackage != 0) {