处理大于缓冲区大小的帧

embe99

我创建了一个UDP通信器。如果我收到的消息大小大于recv()接受的消息,那么我想处理该异常:

OSError:[WinError 10040]在数据报套接字上发送的消息大于内部消息缓冲区或某些其他网络限制,或者用于接收数据报的缓冲区小于数据报本身。

我怎样才能做到这一点?是否可以像这样安全处理WinError:

try:
    message, comm_point = self.clientSocket.recvfrom(MSG_SIZE)
except WinError:
    ...do some job

我知道WinError.h是一个很大的库,在我看来,在try块运行时,如果系统调用它们,我可能会处理其他一些WinErrors。

奥洛诺

在我看来,您可能正在使用套接字。在这种情况下,如果您处理套接字错误,则不必处理特定的OSError。您可以执行以下操作:

try:

        message, comm_point = self.clientSocket.recvfrom(MSG_SIZE)

except socket.error, e:
        #Do some job ex.
        print "Error receiving data: %s" % e
        sys.exit(1)

这样,套接字将引发错误,您将捕获该错误,同时仍会收到与套接字无关的其他错误,但它们是OSErrors

参考,以获取更多帮助:https : //www.networkcomputing.com/data-centers/python-network-programming-handling-socket-errors

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当应用程序缓冲区大小大于MPI缓冲区大小时,MPI_Send如何工作?

来自分类Dev

LibGDX帧缓冲区

来自分类Dev

处理图像时的步幅和缓冲区大小

来自分类Dev

BufferedInputStream的缓冲区大小

来自分类Dev

获取缓冲区的大小

来自分类Dev

FUSE缓冲区的大小?

来自分类Dev

Awk缓冲区大小

来自分类Dev

OpenGL如何创建和渲染大于窗口的帧缓冲区?

来自分类Dev

如何绘制目标纹理大于屏幕分辨率的帧缓冲区?

来自分类Dev

MPI发送和接收挂起,缓冲区大小大于64kb

来自分类Dev

什么是深帧缓冲区?

来自分类Dev

libGDX帧缓冲区Alpha问题

来自分类Dev

什么是“哑”帧缓冲区?

来自分类Dev

OpenGL帧缓冲区+ LibGDX

来自分类Dev

复制并粘贴到帧缓冲区

来自分类Dev

什么是深帧缓冲区?

来自分类Dev

深度+模板帧缓冲区问题

来自分类Dev

什么是内核帧缓冲区?

来自分类Dev

OpenGL帧缓冲区绑定目标

来自分类Dev

libGDX帧缓冲区Alpha问题

来自分类Dev

什么是“哑”帧缓冲区?

来自分类Dev

是否可以仅使用OpenGL确定默认帧缓冲区的大小?

来自分类Dev

调整大小后是否应将纹理重新附加到帧缓冲区

来自分类Dev

Java中的缓冲区大小

来自分类Dev

C ++中的缓冲区大小

来自分类Dev

AVPlayer / AVPlayerItem的缓冲区大小

来自分类Dev

HttpClient缓冲区大小超出限制

来自分类Dev

使用WriteableBitmap的缓冲区大小不足?

来自分类Dev

是gorouines忽略通道的缓冲区大小