@@ -199,7 +199,8 @@ private void OnUdpReady(Socket socket)
199
199
{
200
200
Assumes . NotNull ( m_pipe ) ;
201
201
202
- if ( ! TryReceiveUdpFrame ( out NetMQFrame frame , out string peerName ) ) return ;
202
+ if ( ! TryReceiveUdpFrame ( out NetMQFrame frame , out string peerName ) )
203
+ return ;
203
204
204
205
// If filter is set, check that beacon matches it
205
206
var isValid = frame . MessageSize >= m_filter ? . MessageSize && Compare ( frame , m_filter , m_filter . MessageSize ) ;
@@ -269,10 +270,8 @@ private void SendUdpFrame(NetMQFrame frame)
269
270
{
270
271
m_udpSocket . SendTo ( frame . Buffer , 0 , frame . MessageSize , SocketFlags . None , m_broadcastAddress ) ;
271
272
}
272
- catch ( SocketException ex )
273
+ catch ( SocketException ex ) when ( ex . SocketErrorCode == SocketError . AddressNotAvailable )
273
274
{
274
- if ( ex . SocketErrorCode != SocketError . AddressNotAvailable ) { throw ; }
275
-
276
275
// Initiate Creation of new Udp here to solve issue related to 'sudden' network change.
277
276
// On windows (7 OR 10) incorrect/previous ip address might still exist instead of new Ip
278
277
// due to network change which causes crash (if no try/catch and keep trying to send to incorrect/not available address.
@@ -292,16 +291,15 @@ private bool TryReceiveUdpFrame(out NetMQFrame frame, out string peerName)
292
291
{
293
292
bytesRead = m_udpSocket . ReceiveFrom ( buffer , ref peer ) ;
294
293
}
295
- catch ( SocketException ex )
294
+ catch ( SocketException ex ) when ( ex . SocketErrorCode == SocketError . MessageSize )
296
295
{
297
- if ( ex . SocketErrorCode != SocketError . MessageSize ) { throw ; }
298
- frame = new NetMQFrame ( "" ) ;
299
- peerName = "" ;
296
+ frame = default ;
297
+ peerName = null ;
300
298
return false ;
301
299
}
300
+
302
301
peerName = peer . ToString ( ) ;
303
302
frame = new NetMQFrame ( buffer , bytesRead ) ;
304
-
305
303
return true ;
306
304
}
307
305
}
0 commit comments