0
from BaseHTTPServer import HTTPServer
from CGIHTTPServer  import CGIHTTPRequestHandler
import socket,ssl
import time
import Config

class StartHTTPServer:
    '''Web server to serve out map image and provide cgi'''


    def __init__(self):
        # Start HTTP Server. Port and address defined in Config.py
        srvraddr = ("", Config.HTTP_PORT)                     # my hostname, portnumber
        srvrobj  = HTTPServer(srvraddr, CGIHTTPRequestHandler)

        srvrobj.socket = ssl.wrap_socket(srvrobj.socket,server_side=True,
                                    certfile="c:\users\shuen\desktop\servertryout 23022012\serverCert.crt",
                                    keyfile="c:\users\shuen\desktop\servertryout 23022012\privateKey.key",
                                    ssl_version=ssl.PROTOCOL_TLSv1,
                                    do_handshake_on_connect=True)

        print srvrobj.socket.cipher() 
        print srvrobj.socket.getsockname()
        print "HTTP server running at IP Address %s port %s." % (Config.HTTP_ADDRESS, Config.HTTP_PORT)
        srvrobj.serve_forever()                              # run as perpetual demon

        srvrobj.socket.accept()
        message='hello from server.<EOF>'
        srvrobj.socket.send(message)

通常のソケットでデータを送信しようとしましたが、動作します。ただし、私が取り組んでいるコードは socketServer を使用しており、変更できません。サーバーにデータを送信する例が見つかりません。どうやってやるの?

4

1 に答える 1

0

サーバー ソフトウェアを本当に変更できない場合は、ラッパーを使用する必要がありますopenssl s_server

于 2012-03-04T21:23:55.027 に答える