周玉环 d906a41c2e first commit 2 ngày trước cách đây
..
spdy d906a41c2e first commit 2 ngày trước cách đây
CONTRIBUTING.md d906a41c2e first commit 2 ngày trước cách đây
LICENSE d906a41c2e first commit 2 ngày trước cách đây
LICENSE.docs d906a41c2e first commit 2 ngày trước cách đây
MAINTAINERS d906a41c2e first commit 2 ngày trước cách đây
README.md d906a41c2e first commit 2 ngày trước cách đây
connection.go d906a41c2e first commit 2 ngày trước cách đây
handlers.go d906a41c2e first commit 2 ngày trước cách đây
priority.go d906a41c2e first commit 2 ngày trước cách đây
stream.go d906a41c2e first commit 2 ngày trước cách đây
utils.go d906a41c2e first commit 2 ngày trước cách đây

README.md

SpdyStream

A multiplexed stream library using spdy

Usage

Client example (connecting to mirroring server without auth)

package main

import (
	"fmt"
	"github.com/docker/spdystream"
	"net"
	"net/http"
)

func main() {
	conn, err := net.Dial("tcp", "localhost:8080")
	if err != nil {
		panic(err)
	}
	spdyConn, err := spdystream.NewConnection(conn, false)
	if err != nil {
		panic(err)
	}
	go spdyConn.Serve(spdystream.NoOpStreamHandler)
	stream, err := spdyConn.CreateStream(http.Header{}, nil, false)
	if err != nil {
		panic(err)
	}

	stream.Wait()

	fmt.Fprint(stream, "Writing to stream")

	buf := make([]byte, 25)
	stream.Read(buf)
	fmt.Println(string(buf))

	stream.Close()
}

Server example (mirroring server without auth)

package main

import (
	"github.com/docker/spdystream"
	"net"
)

func main() {
	listener, err := net.Listen("tcp", "localhost:8080")
	if err != nil {
		panic(err)
	}
	for {
		conn, err := listener.Accept()
		if err != nil {
			panic(err)
		}
		spdyConn, err := spdystream.NewConnection(conn, true)
		if err != nil {
			panic(err)
		}
		go spdyConn.Serve(spdystream.MirrorStreamHandler)
	}
}

Copyright and license

Copyright © 2014-2015 Docker, Inc. All rights reserved, except as follows. Code is released under the Apache 2.0 license. The README.md file, and files in the "docs" folder are licensed under the Creative Commons Attribution 4.0 International License under the terms and conditions set forth in the file "LICENSE.docs". You may obtain a duplicate copy of the same license, titled CC-BY-SA-4.0, at http://creativecommons.org/licenses/by/4.0/.