2012-03-04 19 views
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を使用しており、変更することはできません。私はサーバーにデータを送信する例を見つけることができません。どうやってやるの?クライアントにデータを送信するには?

答えて

0

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

+0

私は、コマンドserve_foreverの後にSocketServerがソケットにメッセージを送信できるかどうか疑問に思っていますか?ラッパーが必要かどうかはわかりません。 – Shuen

関連する問題