当前位置: 首页>>代码示例>>Python>>正文


Python Transport.receive方法代码示例

本文整理汇总了Python中transport.Transport.receive方法的典型用法代码示例。如果您正苦于以下问题:Python Transport.receive方法的具体用法?Python Transport.receive怎么用?Python Transport.receive使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在transport.Transport的用法示例。


在下文中一共展示了Transport.receive方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: Player

# 需要导入模块: from transport import Transport [as 别名]
# 或者: from transport.Transport import receive [as 别名]
class Player(object):

    auth_timeout = 5

    def __init__(self, socket, address):
	self.transport = Transport(socket, address)
	self.host = address[0]
	self.port = address[1]
	self.health = 100

    def close(self):
	self.transport.send(Message.exit().pack())
	self.transport.close()

    def auth(self):
	recv = None
	with Timeout(Player.auth_timeout, PlayerError("Authentication timed out")):
	    try:
		msg = self.transport.receive()
	    except PlayerError as e:
		print("error on receive")
		print(e)
		return False

	try:
	    msg = Message.parse(msg)
	except MessageError:
	    print("bad message")
	    return False
	if msg.type == "nick":
	    self.name = msg.payload
	    self.transport.send(Message.auth_success().pack())
	    return True
	return False

    def listen(self):
	return self.transport.receive()

    def send(self, msg):
	self.transport.send(msg)
开发者ID:jhuang314,项目名称:pyaudio,代码行数:42,代码来源:player.py

示例2: Client

# 需要导入模块: from transport import Transport [as 别名]
# 或者: from transport.Transport import receive [as 别名]
class Client(Greenlet):

    def __init__(self, host, port, nick):
	Greenlet.__init__(self)
	self.host = host
	self.port = port
	self.name = nick

    def _run(self):
	self.connect()
	if not self.auth():
	    self.exit("Could not connect to server")
	print("Auth successful")
	self.opponent = self.opponent_wait()
	self.start_wait()
	self.play()
    
    def wait(self, msg_type):
	"""
	Waits for a specific message type, then returns the received message
    	"""
	while True:
	    rec = self.transport.receive()
	    try:
		msg = Message.parse(rec)
	    except MessageError:
		continue
	    if msg.type == msg_type:
		return msg

    def opponent_wait(self):
	msg = self.wait('opponent')
	return msg.payload

    def start_wait(self):
	while True:
	    msg = self.wait('game')
	    if msg.payload == 'start':
		break
	
    def play(self):
	sensor = gevent.spawn(self.handle_punch)	
	sensor.join()

    def handle_punch(self):
	while True:
	    gevent.sleep(7)
	    #print "sending punch"
	    self.transport.send(Message.punch().pack())

    def exit(self, msg):
	print(msg)
	raise GreenletExit

    def connect(self):
	sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
	sock.connect((self.host, self.port))
	print dir(sock)
	self.transport = Transport(sock, (self.host, self.port))

    def auth(self):
	self.transport.send(Message.nick(self.name).pack())
	data = self.transport.receive()
	try:
	    msg = Message.parse(data)
	except MessageError:
	    return False
	if msg.type == 'auth' and msg.payload == 'success':
	    return True
	else:
	    return False
开发者ID:jhuang314,项目名称:pyaudio,代码行数:73,代码来源:client2.py

示例3: Client

# 需要导入模块: from transport import Transport [as 别名]
# 或者: from transport.Transport import receive [as 别名]
class Client(Greenlet):

    def __init__(self, host, port, nick):
	Greenlet.__init__(self)
	self.host = host
	self.port = port
	self.name = nick

    def _run(self):
	self.connect()
	if not self.auth():
	    self.exit("Could not connect to server")
	print("Auth successful")
	self.opponent = self.opponent_wait()
	self.start_wait()
	self.play()
    
    def wait(self, msg_type):
	"""
	Waits for a specific message type, then returns the received message
    	"""
	while True:
	    rec = self.transport.receive()
	    try:
		msg = Message.parse(rec)
	    except MessageError:
		continue
	    if msg.type == msg_type:
		return msg

    def opponent_wait(self):
	msg = self.wait('opponent')
	return msg.payload

    def start_wait(self):
	while True:
	    msg = self.wait('game')
	    if msg.payload == 'start':
		break
	
    def play(self):
	sensor = gevent.spawn(self.handle_punch)	
	sensor.join()

    def handle_punch(self):
	while True:
	    gevent.sleep(2)




            """ Record a few seconds of audio and save to a WAVE file. """
            from scipy.io.wavfile import read, write
            from scipy.fftpack import rfft, irfft
            from scipy import *
            from pylab import *
            import numpy as np
            import pyaudio
            import matplotlib.pyplot as plt
            import wave
            import sys
            
            
            
            last = 0.
            last2 = 0.
            cal = []
            mean = 0.
            std = 0.
            hit = 0
            
            chunk = 1024
            FORMAT = pyaudio.paInt16
            CHANNELS = 1
            RATE = 44100
            #RECORD_SECONDS = 0.1
            WAVE_FILENAME = '/tmp/ashfs/output.wav'
            
            p = pyaudio.PyAudio()
            
            stream = p.open(format = FORMAT,
                            channels = CHANNELS,
                            rate = RATE,
                            input = True,
                            output = True,
                            frames_per_buffer = chunk)
            
            
            init = True
            
            while True:
                #print "* recording"
                all = []
                #for i in range(0, RATE / chunk * RECORD_SECONDS):
                i = 0
                while i < 5: # ~120ms
                    try:
                        data = stream.read(chunk)
                        all.append(data)
                        i = i + 1
#.........这里部分代码省略.........
开发者ID:jhuang314,项目名称:pyaudio,代码行数:103,代码来源:combinedClient.py


注:本文中的transport.Transport.receive方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。