ich muss für meine Vorlesung einen Chatserver auf CORBA Basis programmieren.
Alle Funktionen habe ich schon implementiert.
Jetzt benötige ich noch einen Filetransfer vom Client zum Server. Ich möchte Bilder übers Netzwerk mit Hilfe von Corba übertragen.
Dateien werden als Binary File geöffnet und in einen String umgewandelt.
Der String wird dann per RPC an den Server übertragen.
es kommt folgende Fehlermeldung, mit der ich nichts anfangen kann:
Code: Alles auswählen
TypeError: argument must be string without null bytes, not str
Mache ich das gleiche in einem Programm ohne Corba, funktioniert es problemlos.
meine IDL Datei:
Code: Alles auswählen
module Chat {
interface ChatServer {
long sign_on(in string name);
void sign_off(in long clientid);
string get_new_messages(in long clientid);
void write_message(in long clientid, in string message);
string get_userlist(in string separator);
void send_file(in long clientid, in string file);
string get_file(in string username);
};
};
Code: Alles auswählen
def getbinaryfileasstring(name):
inp = open(name, "rb")
dateistring = ""
for line in inp:
dateistring += line
return dateistring
o.send_file(myid, getbinaryfileasstring("test.png"))
Implementierung auf Serverseite:
Code: Alles auswählen
def send_file(self, clientid, stringfile):
tempuser = get_user_from_list(clientid)
filename = self.filepath + tempuser.get_clientid() + ".png"
outp = open(filename, "wb")
outp.write(stringfile)
outp.close()
Kann mir jemand helfen??

danke schon mal
ciao, fr3sh