【发布时间】:2019-03-09 03:49:05
【问题描述】:
我正在尝试使用 PodSixNet 通过网络发送图像。 我是怎么做的:
客户端:
#...
image = pygame.image.load("character.png")
img = pygame.image.tostring(image, "RGBA")
connection.Send({"action":"setPlayerCharacter", 'playerName': self.playerName, 'playerImage': img})
服务器端:
def Network_setPlayerCharacter(self, data):
self.playerName = data['playerName']
img = data['playerImage']
self.playerImage = pygame.image.fromstring(img, (50, 50), "RGBA")
self._server.SendPlayers() # Send data to other players
但是 PodSixNet 不喜欢字节。收到此错误:
error: uncaptured python exception, closing channel <__main__.ClientChannel 127.0.0.1:54822 at 0x3925ef0> (<class 'UnicodeDecodeError'>:'utf-8' codec can't decode byte 0xff in position 1611: invalid start byte [C:\Users\Mikal\AppData\Local\Programs\Python\Python37-32\lib\asyncore.py|read|83] [C:\Users\Mikal\AppData\Local\Programs\Python\Python37-32\lib\asyncore.py|handle_read_event|422] [C:\Users\Mikal\AppData\Local\Programs\Python\Python37-32\lib\asynchat.py|handle_read|171] [C:\Users\Mikal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\PodSixNet\Channel.py|found_terminator|21] [C:\Users\Mikal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\PodSixNet\rencode.py|loads|333] [C:\Users\Mikal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\PodSixNet\rencode.py|f|320] [C:\Users\Mikal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\PodSixNet\rencode.py|decode_string|196])
有什么办法吗?
【问题讨论】:
标签: python image networking pygame