服务器端接收并发回客户端数据:
import socketserver
class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
def handle(self):
try:
data = b''
while True:
package = self.request.recv(4096)
if not package:
break
data = data + package
self.request.sendall(data)
except ConnectionError as conError:
print(conError)
class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
pass
if __name__ == "__main__":
HOST, PORT = "localhost", 50007
print('Server start work!')
server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)
ip, port = server.server_address
try:
server.serve_forever()
except keyboardInterrupt:
print('Server stop by Keyboard Interrupt.')
客户端读取txt文件,发送到服务器等待回复:
^{pr2}$但实现这种“挂”后的最后一块数据。我的问题是,什么需要改变,这将得到所有的数据。在
我解决了如下问题,在前10个字符中我发送的数据大小要接收并服务器端检查接收到的数据,如果它是由客户端发送的,那么继续接收数据。在
所以您需要修改服务器端:
客户端:
^{pr2}$相关问题 更多 >
编程相关推荐