小编use*_*110的帖子

有关python编写的简单服务器的问题

这是一个简单的服务器.当您打开浏览器类型到服务器的地址时,它将响应状态代码和所请求的html的内容.但是当我添加这句"connectionSocket.send('HTTP/1.1 200 OK')"时,没有任何回复.当我删除它时,html返回.另一个问题是,当我通过网络浏览器发送请求时,有两个连接发送到服务器,一个显示它想找到一个名为favicon.ico的文件,但当然这是一个IOError,因为没有这样的文件我的服务器的根目录.代码附后并感谢您的帮助.


#import socket module

from socket import *
serverSocket = socket(AF_INET,SOCK_STREAM)
#prepare a server socket

serverSocket.bind(('192.168.0.101', 8765))
serverSocket.listen(1)

while True:

    #Establish the connection

    print 'Ready to serve...'
    connectionSocket,addr =  serverSocket.accept()
    print 'connected from',addr
    try:
        message = connectionSocket.recv(1024)
        filename = message.split()[1]
        print filename
        f = open(filename[1:])
        outputdata = f.read()

        #Send one HTTP header line into socket

        #connectionSocket.send('HTTP/1.1 200 OK')

        #Send the content of the requested file to the client

        for i in range(0,len(outputdata)):
            connectionSocket.send(outputdata[i])
        connectionSocket.close()
    except IOError:
        print 'IOError' …

python

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×1