我正在尝试使用Socket.BeginReceive(.)和Socket.EndReceive(.)作为我的UDP包接收客户端。但是,当我希望取消和关闭套接字时,我实现的Close()函数在Socket.EndReceive(.)上退出。我假设线程上抛出了一个异常,但我不知道如何捕获异常以查看问题所在。我使用过Socket.EndReceive(.)在SocketError作为成功返回之前。下面是一些代码,说明我是如何使用套接字的。_buffer = new byte[Marshal.SizeOf(typ
因此,我们有大约30条UDP消息每秒传入,我们正在对每条消息执行处理和数据库操作。我的第一个想法是完成操作,然后再次调用BeginReceive方法,然后让下一条消息进来。由于在接收消息时和再次调用BeginReceive之间存在轻微的临时关系,因此在此过渡期间接收的消息会发生什么情况?另外,如果我在操作之前将BeginReceive移到异步回调的开头,这会造成各种线程复杂,甚至可以安全地执行吗?方法1:
Public Sub ReceiveCallb