Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 强制sock.accept()引发测试异常_Python 3.x_Sockets_Python Asyncio - Fatal编程技术网

Python 3.x 强制sock.accept()引发测试异常

Python 3.x 强制sock.accept()引发测试异常,python-3.x,sockets,python-asyncio,Python 3.x,Sockets,Python Asyncio,作为一组测试的一部分,我希望server_sock.accept()引发一个异常(这不是BlockingIOError) 我知道我可以通过某种方式对对象进行修补以强制它,但我希望尽可能模拟真实情况,因此实际网络/操作系统条件(例如远程套接字上的某些行为)会引发异常。这可能吗?您应该通过模拟套接字强制执行它。如果您搜索它,您可能会找到示例代码。或者您想知道套接字抛出什么异常。您可以在github上找到python和C代码 如果您想更深入地查看accept手册页,查看它返回的错误 可能是特定于

作为一组测试的一部分,我希望server_sock.accept()引发一个异常(这不是BlockingIOError)


我知道我可以通过某种方式对对象进行修补以强制它,但我希望尽可能模拟真实情况,因此实际网络/操作系统条件(例如远程套接字上的某些行为)会引发异常。这可能吗?

您应该通过模拟套接字强制执行它。如果您搜索它,您可能会找到示例代码。或者您想知道套接字抛出什么异常。您可以在github上找到python和C代码

如果您想更深入地查看accept手册页,查看它返回的错误

可能是特定于linux的错误:

此外,如果出现以下情况,Linux accept()可能会失败:

  EPERM  Firewall rules forbid connection.

我同意。你知道套接字抛出的异常,所以只要模仿它们就行了。这个答案有一些模拟套接字的基础知识。
  EPERM  Firewall rules forbid connection.