2012-03-04 95 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

我想知道是否SocketServer可以發送消息到一個套接字後,命令serve_forever?不知道我是否需要包裝。 – Shuen 2012-03-05 09:08:42

相關問題