Python中的简单套接字编程:错误的服务器

DM编码

我正在尝试编写一个简单的文本/ HTTP服务器,该服务器在python中模拟各种不良的网络状况。首先,我希望服务器看起来像是关闭连接而不向浏览器发送任何数据,以便可靠地创建“ net :: ERR_EMPTY_RESPONSE”浏览器错误。关于套接字编程的大多数教程都涉及如何创建好的服务器,而不是如何创建坏的服务器,因此,我相信您可以在这里理解我的问题。

这是我到目前为止的内容:

    import socket, sys, time

    port = 8080
    print "Bad server is listening on " + str(port)
    serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    serversocket.bind(('localhost', port))

    serversocket.listen(5)

    #simulate successful transport after the 5th attempt
    counter = 0

    while True:
        #accept connections from outside
        (clientsocket, address) = serversocket.accept()
        time.sleep(1);

        if counter > 5:
            serversocket.write('<span class="position: relative; left: 20px;>hello</span>');

        serversocket.close()

        counter += 1

该计数器是因为我认为如果服务器在第5次连接尝试后进行响应以模拟非常不可靠的网络连接,则可能会很好。

但是,尽管服务器故障,但故障服务器本身也不应该崩溃。当我运行该代码时,我得到:

    Bad server is listening on 8080
    Traceback (most recent call last):
      File "bad_server.py", line 16, in <module>
        (clientsocket, address) = serversocket.accept()
      File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/socket.py", line 195, in accept
        sock, addr = self._sock.accept()
      File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/socket.py", line 165, in _dummy
        raise error(EBADF, 'Bad file descriptor')
    socket.error: [Errno 9] Bad file descriptor

这是不希望的。不良的服务器应继续监听连接。

完成此工作后,我的下一个任务是尝试使不良服务器突然终止其答复,从而在浏览器中产生net :: ERR_ABORTED。我不知道该怎么办。任何帮助,将不胜感激。

迈克·德西蒙

您应该使用clientsocket与客户交谈;serversocket只是听。

while True:
    #accept connections from outside
    (clientsocket, address) = serversocket.accept()
    time.sleep(1);

    if counter > 5:
        clientsocket.write('<span class="position: relative; left: 20px;>hello</span>');

    clientsocket.close()

    counter += 1

另外,您无需重置counter,因此第五个之后的每个连接都会“成功”。希望这是期望的。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

套接字编程-简单的客户端/服务器

来自分类Dev

服务器回显时套接字编程错误

来自分类Dev

Python套接字服务器/客户端编程

来自分类Dev

Python Socket 编程更改服务器套接字

来自分类Dev

C 中的套接字编程,服务器代码出错

来自分类Dev

Unity中的简单套接字服务器

来自分类Dev

Python Web服务与套接字编程客户端/服务器设计

来自分类Dev

使用python中的TCP套接字编程从服务器接收数据并将其写入.txt文件

来自分类Dev

通过nmap扫描显示的服务和版本,用于简单的python套接字服务器

来自分类Dev

Python 2.7.8:套接字-TCP套接字中的客户端服务器数据丢失

来自分类Dev

服务器验证凭据(套接字编程)

来自分类Dev

套接字编程:TCP 白天服务器?

来自分类Dev

简单的Unix域套接字服务器

来自分类Dev

使用Python服务器和Android客户端进行套接字编程

来自分类Dev

使用Python进行套接字编程:获取服务器的端口

来自分类Dev

使用Python服务器和Android客户端进行套接字编程

来自分类Dev

Python套接字编程:句子-信息未到达Web服务器?

来自分类Dev

使用Python进行套接字编程:获取服务器的端口

来自分类Dev

服务器套接字编程TCP连接地址已在使用中

来自分类Dev

绑定服务器套接字时出错::地址已在使用中。UDP C编程

来自分类Dev

简单的Python套接字服务器不接受条件语句

来自分类Dev

在我的简单Python套接字服务器上实现HTTP和HTTPS

来自分类Dev

连接错误:Ubuntu中C语言的简单套接字编程

来自分类Dev

在套接字编程中,我在服务器端接收到用c编写代码的字符串时遇到错误

来自分类Dev

C套接字:Echo服务器错误回复

来自分类Dev

DataSnap服务器套接字错误10061

来自分类Dev

C客户端/服务器套接字错误

来自分类Dev

多处理远程服务器和套接字错误

来自分类Dev

Clojure服务器套接字ClassNotFoundException错误

Related 相关文章

  1. 1

    套接字编程-简单的客户端/服务器

  2. 2

    服务器回显时套接字编程错误

  3. 3

    Python套接字服务器/客户端编程

  4. 4

    Python Socket 编程更改服务器套接字

  5. 5

    C 中的套接字编程,服务器代码出错

  6. 6

    Unity中的简单套接字服务器

  7. 7

    Python Web服务与套接字编程客户端/服务器设计

  8. 8

    使用python中的TCP套接字编程从服务器接收数据并将其写入.txt文件

  9. 9

    通过nmap扫描显示的服务和版本,用于简单的python套接字服务器

  10. 10

    Python 2.7.8:套接字-TCP套接字中的客户端服务器数据丢失

  11. 11

    服务器验证凭据(套接字编程)

  12. 12

    套接字编程:TCP 白天服务器?

  13. 13

    简单的Unix域套接字服务器

  14. 14

    使用Python服务器和Android客户端进行套接字编程

  15. 15

    使用Python进行套接字编程:获取服务器的端口

  16. 16

    使用Python服务器和Android客户端进行套接字编程

  17. 17

    Python套接字编程:句子-信息未到达Web服务器?

  18. 18

    使用Python进行套接字编程:获取服务器的端口

  19. 19

    服务器套接字编程TCP连接地址已在使用中

  20. 20

    绑定服务器套接字时出错::地址已在使用中。UDP C编程

  21. 21

    简单的Python套接字服务器不接受条件语句

  22. 22

    在我的简单Python套接字服务器上实现HTTP和HTTPS

  23. 23

    连接错误:Ubuntu中C语言的简单套接字编程

  24. 24

    在套接字编程中,我在服务器端接收到用c编写代码的字符串时遇到错误

  25. 25

    C套接字:Echo服务器错误回复

  26. 26

    DataSnap服务器套接字错误10061

  27. 27

    C客户端/服务器套接字错误

  28. 28

    多处理远程服务器和套接字错误

  29. 29

    Clojure服务器套接字ClassNotFoundException错误

热门标签

归档