sending more then 2 messages at a time to a SocketServer fails

MrSmile no at mail.de
Tue Nov 1 11:07:09 EDT 2011


Hi people!
I have asked myself why I am not capable sending 2 messages a time to a
Socketserver. Why is that?!


Here the Server:

import SocketServer
from ast import literal_eval

class MKTest(object):
    DSX = []
    MKTestInst = None

    def __init__(self,Daten):
        MKTest.DSX.append(Daten)

    def getObj(Daten):
        if MKTest.MKTestInst == None:
            MKTest.MKTestInst = MKTest(Daten)
        return MKTest.MKTestInst

    getObj = staticmethod(getObj)

class MySockX(SocketServer.BaseRequestHandler):
    def handle(self):
        data = self.request.recv(1024)
        data = literal_eval(data)
        #MKTest.getObj(data[0])
        #MKObj = MKTest(data[0])
        MKObj = MKTest.getObj(data[0])
        data = MKTest.DSX
        data = '%s' % data
        self.request.send(data)

if __name__ == "__main__":
    HOST, PORT = "localhost", 9999
    server = SocketServer.TCPServer((HOST,PORT),MySockX)
    server.serve_forever()



and the client:

import socket

data = [100]
received = [None,None]
HOST,PORT = "localhost",9999
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))
sock.send('%s' % data)
received[0] = sock.recv(1024)
sock.send('%s' % data)
received[1] = sock.recv(1024)
sock.close()

print received



The result is:

['[100]', '']



who can help me solving this problem



Tamer




More information about the Python-list mailing list