Hur kan jag få error när jag ska försöka sända ett meddelande via Python?
Hej!
Detta är en enkel fråga. Jag försöker sända en sträng från Python till Java igenom att använda sockets. Men jag får inte liksom meddelandet att fungera sända. Det blir ett felmeddelande.
Här är min lilla kodsnutt från Python
try:
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((self.HOST, self.PORT))
print("sending")
s.sendall("meddelandet") # Skickas tydligen inte ut!
print("done")
except: ValueError
Meddelandet "done" skrivs alltså inte ut. Då kan man undra, varför inte då? Jag mottar meddelandet via denna kod. Men denna kodsnutt vet jag att den fungerar. Det är just pythonkoden jag behöver hjälp med.
Min pythonkod är min klient. Javakod är min server. Först så öppnar jag anslutning med Java och sedan ansluter jag med Python. Efter jag har tagit emot mitt meddelande (Java -> Python) så stänger jag min klient i Python. Sedan så ska jag skicka tillbaka ett meddelande (Java <- Python) och då kan vi se koden ovan, som inte fungerar.
Så finns det något som jag har glömt?
public String receiveData() {
System.out.println("receiveData");
String received = "";
try {
if(dataInputStream.available() > 0) {
received = dataInputStream.readUTF();
}
}catch (SocketException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return received;
}