Beispiel #1
0
#!/usr/bin/env python
# coding: utf-8

from spdy.context import Context, CLIENT, SERVER
from spdy.frames import SynStream, SynReply

server = Context(SERVER)
client = Context(CLIENT)

frame = SynStream(stream_id=client.next_stream_id, headers={'dood': 'balls', 'stuff': 'otherstuff'})
client.put_frame(frame)
chunk = client.outgoing()

server.incoming(chunk)
frame2 = server.get_frame()
print(frame2)
print(frame2.headers)

frame3 = SynReply(stream_id=server.next_stream_id, headers={'got it': 'yup', 'roger': 'roger'})
server.put_frame(frame3)
chunk2 = server.outgoing()

client.incoming(chunk2)
frame4 = client.get_frame()
print(frame4.headers)
Beispiel #2
0
        data = DataFrame(f.stream_id, b"hello, world!", flags=1)
        conn.put_frame(data)
        print(str(data) + ", SAYS SERVER")
        goaway = Goaway(f.stream_id)
        conn.put_frame(goaway)
        print(str(goaway) + ", SAYS SERVER")
    elif isinstance(f, Goaway):
        return True

try:
    print ('Running one-time one-client SPDY Server...')
    client_socket, address = server.accept()
    ss = ctx.wrap_socket(client_socket, server_side=True)
    conn = Context(SERVER)
    finish = False
    while not finish:
        d = ss.recv(1024)
        conn.incoming(d)
        frame = conn.get_frame()
        if frame:
            finish = handle_frame(conn, frame)
            outgoing = conn.outgoing()
            if outgoing:
                ss.sendall(outgoing)
        

except Exception as exc:
    print(exc)
finally:
    server.close()
        data = DataFrame(f.stream_id, b"hello, world!", flags=1)
        conn.put_frame(data)
        print(str(data) + ", SAYS SERVER")
        goaway = Goaway(f.stream_id)
        conn.put_frame(goaway)
        print(str(goaway) + ", SAYS SERVER")
    elif isinstance(f, Goaway):
        return True


try:
    print('Running one-time one-client SPDY Server...')
    client_socket, address = server.accept()
    ss = ctx.wrap_socket(client_socket, server_side=True)
    conn = Context(SERVER)
    finish = False
    while not finish:
        d = ss.recv(1024)
        conn.incoming(d)
        frame = conn.get_frame()
        if frame:
            finish = handle_frame(conn, frame)
            outgoing = conn.outgoing()
            if outgoing:
                ss.sendall(outgoing)

except Exception as exc:
    print(exc)
finally:
    server.close()