@@ -144,10 +144,8 @@ string HousingListToJson()
144
144
) ;
145
145
}
146
146
147
- void NetworkReceived ( string connection , long epoch , byte [ ] message )
147
+ void NetworkReceivedSync ( byte [ ] message )
148
148
{
149
- var opcode = BitConverter . ToUInt16 ( message , 18 ) ;
150
- if ( opcode != 0x164 && message . Length != 2440 ) return ;
151
149
HousingSlotSnapshot snapshot ;
152
150
try
153
151
{
@@ -161,23 +159,22 @@ void NetworkReceived(string connection, long epoch, byte[] message)
161
159
//存入存储
162
160
SnapshotStorage . Insert ( snapshot ) ;
163
161
AutoUploadSnapshot [ new Tuple < HouseArea , int > ( snapshot . Area , snapshot . Slot ) ] = snapshot ;
164
-
165
- foreach ( HousingOnSaleItem item in HousingList )
162
+
163
+ foreach ( HousingOnSaleItem item in HousingList )
166
164
{
167
- if ( item . Area == snapshot . Area && item . Slot == snapshot . Slot )
165
+ if ( item . Area == snapshot . Area && item . Slot == snapshot . Slot )
168
166
{
169
167
item . CurrentStatus = false ;
170
168
}
171
169
}
172
170
173
171
HousingItem [ ] onSaleList = snapshot . GetOnSale ( ) ;
174
172
175
- Monitor . Enter ( this ) ;
176
173
foreach ( var item in HousingList )
177
174
{
178
175
if ( item . Area == snapshot . Area && item . Slot == snapshot . Slot )
179
176
{
180
- if ( onSaleList . Where ( x => x . Slot == item . Slot && x . IsEmpty )
177
+ if ( onSaleList . Where ( x => x . Slot == item . Slot && x . IsEmpty )
181
178
. ToArray ( ) . Length == 0 )
182
179
{
183
180
//空房已消失
@@ -187,7 +184,7 @@ void NetworkReceived(string connection, long epoch, byte[] message)
187
184
{
188
185
bindingSource1 . ResetItem ( HousingList . IndexOf ( item ) ) ;
189
186
}
190
- catch ( Exception ex )
187
+ catch ( Exception ex )
191
188
{
192
189
Log ( "Error" , ex , "刷新列表出错:" ) ;
193
190
}
@@ -197,7 +194,7 @@ void NetworkReceived(string connection, long epoch, byte[] message)
197
194
198
195
int listIndex ;
199
196
//更新空房列表
200
- foreach ( HousingItem house in onSaleList )
197
+ foreach ( HousingItem house in onSaleList )
201
198
{
202
199
HousingOnSaleItem onSaleItem = new HousingOnSaleItem ( house ) ;
203
200
Log ( "Info" , string . Format ( "{0} 第{1}区 {2}号 {3}房在售 当前价格: {4}" ,
@@ -225,7 +222,6 @@ void NetworkReceived(string connection, long epoch, byte[] message)
225
222
Log ( "Info" , string . Format ( "{0} 第{1}区查询完成" ,
226
223
HousingItem . GetHouseAreaStr ( snapshot . Area ) ,
227
224
snapshot . Slot + 1 ) ) ; //输出翻页日志
228
- Monitor . Exit ( this ) ;
229
225
}
230
226
catch ( Exception ex )
231
227
{
@@ -234,6 +230,14 @@ void NetworkReceived(string connection, long epoch, byte[] message)
234
230
}
235
231
}
236
232
233
+ void NetworkReceived ( string connection , long epoch , byte [ ] message )
234
+ {
235
+ var opcode = BitConverter . ToUInt16 ( message , 18 ) ;
236
+ if ( opcode != 0x164 && message . Length != 2440 ) return ;
237
+
238
+ control . Invoke ( new Action < byte [ ] > ( NetworkReceivedSync ) , message ) ;
239
+ }
240
+
237
241
private void ButtonUploadOnce_Click ( object sender , EventArgs e )
238
242
{
239
243
Log ( "Info" , $ "准备上报") ;
0 commit comments