Как отправить данные клиенту? - PullRequest
0 голосов
/ 04 марта 2012
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 и не может быть изменен.Я не могу найти ни одного примера, который будет отправлять данные на сервер.Как я могу это сделать?

1 Ответ

0 голосов
/ 05 марта 2012

Если вы действительно не можете изменить серверное программное обеспечение, вы должны использовать оболочку, e. г. openssl s_server.

...