コード例 #1
0
ファイル: windsock.go プロジェクト: nikolas/windsock
// listen on a zmq SUB socket
// and shovel messages from it out to the websockets
func zmqToWebsocket(subsocket zmq.Socket) {
	for {
		address, _ := subsocket.Recv(0)
		content, _ := subsocket.Recv(0)
		fmt.Println("received a zmq message")
		fmt.Println(string(address))
		fmt.Println(string(content))
		runningRoom.SendMessage(envelope{string(address), string(content)})
	}
}
コード例 #2
0
ファイル: windsock.go プロジェクト: thraxil/windsock
// listen on a zmq SUB socket
// and shovel messages from it out to the websockets
func zmqToWebsocket(subsocket zmq.Socket) {
	for {
		address, _ := subsocket.Recv(0)
		content, _ := subsocket.Recv(0)
		log.WithFields(log.Fields{
			"address": string(address),
			"content": string(content),
		}).Info("received a zmq message")
		runningRoom.SendMessage(envelope{string(address), string(content)})
	}
}
コード例 #3
0
ファイル: identity.go プロジェクト: patrickToca/zmq2
func dump(soc *zmq.Socket) {
	fmt.Println("----------------------------------------")
	for {
		//  Process all parts of the message
		message, _ := soc.Recv(0)

		//  Dump the message as text or binary
		fmt.Printf("[%03d] ", len(message))
		if all_char.MatchString(message) {
			fmt.Print(message)
		} else {
			for i := 0; i < len(message); i++ {
				fmt.Printf("%02X ", message[i])
			}
		}
		fmt.Println()

		more, _ := soc.GetRcvmore()
		if !more {
			break
		}
	}
}
コード例 #4
0
ファイル: windsock.go プロジェクト: nikolas/windsock
// send a message to the zmq PUB socket
func sendMessage(reqsocket zmq.Socket, e envelope) {
	serialized_envelope, _ := json.Marshal(e)
	reqsocket.Send(string(serialized_envelope), 0)
	// wait for a reply
	reqsocket.Recv(0)
}