SocketServer self.request.sendall 与原生 socket.send 问题

2014-12-11 13:57:33 +08:00
 sbmzhcn
class Server(ThreadingMixIn, TCPServer): pass

server = Server(('', 8089), ThreadedTCPRequestHandler)
server.serve_forever()

class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):

def handle(self):
data = self.request.recv(1024)
self.request.sendall(b'\x33\x34\x35')

上面的self.request.sendall(b'\x33\x34\x35') 与

connection, address = sock.accept()
connection.send(b'\x33\x34\x35')

有什么不同,为什么我用下面的socket.send是没有问题的,服务器能识别我发送的数据,但是最上面的那代码发送的数据就无法识别。为什么?

都是发送一段16进制的代码,为什么一个可以,一个不可以,想请教是什么,搞了一天了也没有解决!!!
==
sendall ,send, 都试了,一样的。
2641 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/153123

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX